选择排序一种最简单的排序。
名称由来:不断地选择圣墟元素之中的最小者。
它的思想是这样的:
1. 找到数组中最小的那个元素
2. 将它和数组的滴液个元素交换位置(如果第一个元素就是最小元素那么塔就和自己交换)
3. 在剩下的元素中找到最小的,将它与数组的第二个元素交换位置。如此往复,知道将整个数组排序
代码如下:
选择排序类:
public class SelectionSort {
public static int[] sort(int[] a) {
for (int i = 0; i < a.length; i++) {
int min = i;
for (int j = i+1; j < a.length; j++) {
/*
* 比较当前元素与目前已知的最小元素
* */
if(a[min] >a[j]) {
min = j;
}
//交换代码
int temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
return a;
}
}
测试类:
public class Test {
public static void main(String[] args) {
int[] a = {10,50,100,2,8,6};
a = SelectionSort.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}