选择排序
选择排序原理:
选择排序的第一层循环从起始元素开始选到倒数第二个元素,主要是在每次进入的第二层循环之前,将外层循环的下标赋值给临时变量,接下来的第二层循环中,如果发现有比这个最小位置处的元素更小的元素,则将那个更小的元素的下标赋给临时变量,最后,在二层循环退出后,如果临时变量改变,则说明,有比当前外层循环位置更小的元素,需要将这两个元素交换.
public class SelectionSort { public static void main(String[] args) { System.out.print("选择排序:"); int [] a={1,23,78,34,90,5,10,123,002}; //选择排序的优化 for(int i=0;i<a.length-1;i++){//做第i趟排序 int k=i; for(int j=k+1;j<a.length;j++){//选最小的记录 if(a[j]<a[k]){ k=j; //记下目前最小值的位置 } } //在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换 if(i!=k){ int tmp=a[i]; a[i]=a[k]; a[k]=tmp; } } for(int i=0;i<a.length;i++){ System.out.print(a[i]+","); } } }
控制台的输出结果为:选择排序:1,2,5,10,23,34,78,90,123,
yian