《java xuanze排序算法》
选择排序算法
package com.jx.p2p.service;
---------------------------------------------选择排序------------------------------------------------------
public class QuickTest{
public static int[] numlist = new int[]{55,65,70,20,30,25};
public void quickMethod(int[] arrays){
int length = arrays.length;
//从大到小
//选择排序是每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完
//n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果
for(int i=0;i<length-1;i++){
int temp = i;
for(int y=length-1;y>i;y--){
if(arrays[temp]<arrays[y]){
temp=y;
}
}
//一次循环找到数组中最大的数
int arraytemp = arrays[i];
arrays[i]=arrays[temp];
arrays[temp]=arraytemp;
}
}
public static void main(String[] args) {
QuickTest q = new QuickTest();
q.quickMethod(numlist);
for(int item:numlist){
System.out.println(item);
}
}
}
选择排序是从数组中挑选最大的数放到最后,而遇到数值相等的值不进行处理,所以,如果数值重复的比较多,建议用选择排序,这样交换的次数比较少,相对的速度将得到提升。