简单排序算法——选择排序
选择排序:
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。
选择排序说白了就是用索引去排序。
话不多说,上代码》》》
package sdx;
import java.util.Arrays;
public class Main7 {
public static void Main7(int a[]){
for(int i=0;i<a.length;i++){
int minindex=i;
for(int j=i+1;j<a.length;j++){
if(a[j]<a[minindex]){
minindex=j;
}
} //这一步结束后,只是为了找到下一个最小值索引,
if(i!=minindex){ //找到最小索引,替换i(前题是i与最小索引值minindex不相等,因为相等交换没意义)
int temp=a[i];
a[i]=a[minindex];
a[minindex]=temp;
}
}
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
int a[]={12,4,5,123,6,8,54,234,123};
System.out.print("排序前的数组为:"+Arrays.toString(a));
System.out.println();
Main7 ss=new Main7();
// ss.Main7(a, 0, a.length-1);
ss.Main7(a);
System.out.print("排序后的数组为:"+Arrays.toString(a));
}
}