【发布时间】:2015-04-02 04:23:22
【问题描述】:
public static String[] quickSort(String[] givenArray, int left, int right)
{
int l = left;
int r = right;
//used to temporarily hold values for swapping process
String temp;
//arbitrarily picking a pivot point since I know the how much the array holds...
String pivot = givenArray[33];
while (l<=r)
{
while (givenArray[l].compareTo(pivot) < 0)
{
l++;
}
while (givenArray[r].compareTo(pivot) > 0)
{
r--;
}
if (l <= r)
{
temp = givenArray[l];
givenArray[l] = givenArray[r];
givenArray[r] = temp;
l++;
r--;
}
}
if (left < r)
{
quickSort(givenArray, left, r);
}
if (l < right)
{
quickSort(givenArray, l, right);
}
return givenArray;
}
大家好,所以我在学习快速排序算法的过程时遇到了一些困难。在上面的代码中,我尝试使用快速排序方法对字符串数组进行排序。由于某种原因,当我尝试运行它时,该方法不起作用,而且由于它对我来说是一个新主题,我无法弄清楚我需要修复什么。任何反馈将不胜感激。
【问题讨论】:
标签: java arrays algorithm sorting quicksort