我正在为数组中的字符串快速排序程序,我不确定我在做什么错误 - 它打印出错误的答案。Java快速排序错误
public static void quickSort(String[] s, int beg, int end){
int i = beg, j = end;
if(end-beg >= 1){
String piv = s[beg];
while(j > i){
while(s[j].compareTo(piv) > 0 && j >= i && i >= beg)
j--;
while(s[i].compareTo(piv) <= 0 && j > i && i <= end)
i++;
if(j > i){
String temp = s[i];
s[i] = s[j];
s[j] = temp;
}
for(String k : s)
System.out.print(k);
System.out.println();
quickSort(s, beg, j-1);
quickSort(s, j+1, end);
}
}
如果我输入{r, t, c, x, a, w, p}
例如,我得到 r p c x a w t
重复14次。请帮忙!