1.选择排序算法描述:
选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。
以下面5个无序的数据为例:
56 12 80 91 20(文中仅细化了第一趟的选择过程)
算法实现
public class Solution {
/*
* 选择排序法java实现从小到大
*/
public int[] sortSelect(int[] data){
int min;
int index;
for(int i=0;i<data.length-1;i++){
min=data[i];
index=i;
for(int j=i+1;j<data.length;j++){
if(min>data[j]){
min=data[j];
index=j;//记录最小值所在索引
}
}
int temp=data[i];//将最小元素交换到最前排
data[i]=data[index];
data[index]=temp;
}
return data;
}
public static void main(String args[]){
int[] test={76,18,99,35,12,8,5,1,79,100,333};
Solution s=new Solution();
test=s.sortSelect(test);
for (int i=0;i<test.length;i++){
System.out.println(test[i]);
}
// System.out.println(Integer.parseInt("-4"));
}
}