首页 > 代码库 > 选择排序
选择排序
public class 选择排序 {
/**
* 选择排序算法:
* --选择其中一个,和其他进行以次比较,最后确定大小位置,然后进行交换
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] nums = {11,56,2,5,99,101};
System.out.print("未排序:\t");
for(int i = 0;i<nums.length;i++){
System.out.print(nums[i]+"\t");
}
for(int i = 0;i<nums.length-1;i++){//外层控制轮数
//0+1
int k = i;//记住比较的位置
for(int j = i+1;j<nums.length;j++){//比较的次数
//如果选择的位置,循环中依次和后面的比较,如果大的话,交换记住的位置,
if(nums[k]>nums[j]){
k = j;
}
}
//我的位置的值,如果和最后交换完成的位置,不一致,说明需要交换位置,
if(k!=i){
int temp = nums[i];
nums[i] =nums[k];
nums[k]=temp;
}
System.out.println();
System.out.print("第"+(i+1)+"次\t");
for(int h = 0;h<nums.length;h++){
System.out.print(nums[h]+"\t");
}
System.out.println();
}
System.out.println();
System.out.print("已排序:\t");
for(int i = 0;i<nums.length;i++){
System.out.print(nums[i]+"\t");
}
}
}
选择排序