选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。
具体的流程如图:
具体代码实现:
public class SelectSort implements Sort {
public void sort(int[] data) {
for (int i = 0; i < data.length; i++) {
int low = i;
for (int high = data.length - 1; high > i; high--) {
if (data[high] < data[low]) {
low= high ;
}
}
SortUtil.swap(data, i, low);
}
display(data);
}
public void display(int[] data){
for (int number : data) {
System.out.print(number+"---------");
}
}
public static void main(String[] args) {
int[] array = {19,17,14,20,15,12};
SelectSort sort = new SelectSort();
sort.sort(array);
}
}
选择排序比较的简单,主要是要清晰的理解其中的算法思想。