Java 快速排序程序输出不正确

Java 快速排序程序输出不正确,java,javascript,quicksort,Java,Javascript,Quicksort,我正在尝试制作一个快速排序程序,虽然我觉得它应该按预期输出,但事实并非如此。我觉得问题在于我如何构造循环,但情况可能并非如此。正如你所看到的,跑步者的第一次测试按我的要求打印出来,最终一切都安排妥当了。任何帮助都将不胜感激 我的主要节目: 导入静态java.lang.System.*; 导入java.util.array; //使用Arrays.toString帮助打印阵列 公共类快速排序 { 私有静态整数密码; 公共静态无效QuickSortCompariable[]列表 { passC

我正在尝试制作一个快速排序程序,虽然我觉得它应该按预期输出,但事实并非如此。我觉得问题在于我如何构造循环,但情况可能并非如此。正如你所看到的,跑步者的第一次测试按我的要求打印出来,最终一切都安排妥当了。任何帮助都将不胜感激

我的主要节目:

导入静态java.lang.System.*; 导入java.util.array; //使用Arrays.toString帮助打印阵列 公共类快速排序 { 私有静态整数密码; 公共静态无效QuickSortCompariable[]列表 { passCount=0; quickSortlist,0,list.length-1; } 私有静态void QuickSortCompariable[]列表,整型低,整型高 { i低>=高 回来 int a=分区列表,低,高; 快速排序列表,低,a-1; 快速排序列表,a+1,高; } 私有静态int分区可比较[]列表,int低,int高 { int x=低+1; int y=高;
whilex跳过交换的x++和y-需要在while循环中,这样交换只有在被调用时才会发生。

你是说我只是严格地将**if**list[x].compareTolist[low]0{y-;}改为读**while**list[x].compareTolist[low]0{y-;}?我不需要更改打印行的位置?嗯,while循环还需要测试您是否没有穿过流x