《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);

}

}

}

 选择排序是从数组中挑选最大的数放到最后,而遇到数值相等的值不进行处理,所以,如果数值重复的比较多,建议用选择排序,这样交换的次数比较少,相对的速度将得到提升。