看下这个初始位置的不同导致结果不同

a384311712 2012-12-29 07:51:27

这个是正确的快速排序 但是有个疑问 调换红的到绿色那结果却不同也就是排序不正确 ,这是怎么造成的
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;
}
}

}
}
...全文
118 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧