简单选择排序原理:设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(R,Ri+1,…,Rn中找出排序码最小的记录,与第i个记录交换。执行n-1趟
后就完成了记录序列的排序。
java代码实现
public class SimpleSelecrtionSort {
/**
* @param args
*/
public static void main(String[] args) {
int[] data = new int[]{5,1,6,2,7,8,9,3,4};
for (int i = 0; i < data.length; i++) {
//assume data[index] is the smallest data in array data;
int index = i;
for (int j = i+1; j < data.length; j++) {
if(data[j] < data[index]) {
index = j;
}
}
int temp = data[i];
data[i] = data[index];
data[index] = temp;
}
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
}
}
图解:
不稳定,时间复杂度O(n^2).