(Java版)八大排序------选择排序

1.基本原理:从数组中遍历找出最小的数与第一个数进行交换,然后从剩下的数(除去刚才的第一位)遍历找出最小数与第二位进行交换,以此类推。

2.代码演示
例:

int[] arr = {33,20,-12,44,18}

1)第一次选择排序:

int[] arr = {-12,20,33,44,18}

2)第二次选择排序:

int[] arr = {-12,18,33,44,20}

3)第三次选择排序:

int[] arr = {-12,18,20,44,33}

4)第四次选择排序:

int[] arr = {-12,18,20,33,44}

3.源代码

public class SelectSort {
	public static void main(String[] args) {

		int[] arr = { 33,20,-12,44,18 };
		System.out.println("排序前:" + Arrays.toString(arr));
		Sort(arr);
		System.out.println("排序后:" + Arrays.toString(arr));
	}

	public static void Sort(int[] arr) {

		for (int i = 0; i < arr.length - 1; i++) {
			int minIndex = i;//记录最小值的对应的下标
			int min = arr[i];//min存储最小值,刚开始假设第一个数为最小值
			for (int j = i + 1; j < arr.length; j++) {
				if (min > arr[j]) {//更新min
					minIndex = j;
					min = arr[j];
				}
			}
			// 交换值
			arr[minIndex] = arr[i];
			arr[i] = min;
		}

	}

}

猜你喜欢

转载自blog.csdn.net/Mrxuanshen/article/details/107887446