看下这个初始位置的不同导致结果不同
这个是正确的快速排序 但是有个疑问 调换红的到绿色那结果却不同也就是排序不正确 ,这是怎么造成的
public class kuaisu {
public static void main(String[] args) {
double[] list = { 5.8, 2.2, 4.5, 6, 3.4, 8.1, 2.4,3.9, 9 };
System.out.println("排序之前 ");
for (int i = 0; i < list.length; i++) {
System.out.println(" "+list[i]);
selection(list);
System.out.println("排序之后 ");
for ( i = 0; i < list.length; i++) {
System.out.println(" "+list[i]);
}
}
}
static void selection(double []list)
{
double temp;
// int index=0;
for (int i = 0; i < list.length; i++) {
int index=0;
for (int j = 0; j <list.length-i; j++) {
if(list[index]<list[j]) index=j;
}
if(index!=list.length-1-i)
{
int m=list.length-1-i;
temp=list[m];
list[m]=list[index];
list[index]=temp;
}
}
}
}