选择排序
思路: 每一趟从待排序序列选择一个最小的元素放到已排好序序列的首位,剩下的位待排序序列,重复上述步骤直到完成排序。
代码实现:
public class 选择排序 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = {9,1,5,3,7,8,2,6,4};
xuanZe(array);
}
public static void xuanZe(int array[]) {
int index,temp;
System.out.println("选择排序:");
for(int i=0;i<array.length-1;i++) {
index=i; //用来记住数组元素的下标
for(int j=i+1;j<array.length;j++) {
if(array[index]>array[j]) {
index=j; //只对index值改变,不交换元素位置
}
}
if(i!=index) {
temp=array[index];
array[index]=array[i];
array[i]=temp;
}//一轮排序进行一次数组位置交换
System.out.print("第"+i+"次:");
for(int j=0;j<array.length;j++) {
System.out.print(array[j]+" ");
}
System.out.println();
}
}
}
网友评论