选择排序 ,原理与冒泡 类似,相比之下,交换的时间效率为O(n),比较的时间效率依然为O(n^2)
代码如下,程序简单,没有提供注释。
class Select {
public static void main(String[] args) {
int[] a = {2,4,6,3,6,2,6,4,9};
sort(a);
print(a);
}
private static void sort(int[] a) {
int temp;
for(int i=0; i<a.length-1; i++) {
int min = i;
for(int j=i+1; j<a.length; j++) {
if(a[j] < a[min]) min = j;
}
if(min != i) {
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
}
private static void print(int[] a) {
for(int i: a) System.out.print(i + " ");
System.out.println();
}
}