【发布时间】:2016-07-28 22:37:31
【问题描述】:
我有一个字符串数组,我将它转换为双精度,我将它传递给下面的快速排序算法并得到多个错误,说我不能将双精度转换为整数,尽管有一个双精度数组。 left 和 right 分别为 0 和 arr.Length - 1。
public static double[] quick_Sort(double[] arr, double left, double right)
{
double i, j;
double pivot, temp;
i = left;
j = right;
pivot = arr[(left + right) / 2];
do
{
while ((arr[i] < pivot) && (i < right)) i++;
while ((pivot < arr[j]) && (j > left)) j--;
if (i <= j)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
} while (i <= j);
if (left < j) quick_Sort(arr, left, j);
if (i < right) quick_Sort(arr, i, right);
return arr;
}
【问题讨论】:
-
我发布的部分。 8、11、12 15、16、16、17。
-
这段代码无法编译。
-
因为这是一个更大的程序的一部分。
-
不,因为当变量应该是 int 时,它们被键入“double”。这就留下了一个问题,还有什么改变了,并且可能隐藏了真正的错误。一位回答者已经为此浪费了时间。
标签: c# arrays string quicksort