选项排序算法
在众多排序算法中,最容易理解的就是选项排序算法。应用选项排序算法时,可以将数组元素一次一个地放入末位。第一步,找到记录项中最小的元素,将它放在开头。第二步,找到剩余元素中最小的那一个,将它放在第2个位置。如果在整个数组中继续这一过程,最后的结果就是数组变得有序。
——《Java语言的科学与艺术》
sort方法的代码如下(Java):
private void sort(int[] array){
for(int lh=0;lh<array.length;lh++){
int rh=findSmallest(array,lh,array.length);
swapElement(array,lh,rh);
}
}
private int findSmallest(int[] array,int p1,int p2){
int smallestIndex=p1;
for(int i=p1+1;i<p2;i++){
if(array[i]<array[smallestIndex]) smallestIndex=i;
}
return smallestIndex;
}
private void swapElement(int[] array,int p1,int p2){
int temp=array[p1];
array[p1]=array[p2];
array[p2]=temp;
}