我正在尝试实现一种快速排序算法来对浮点数组进行排序。每当我引用数组中的索引时,我都会收到此错误:
无法将类型“float”隐式转换为“int”。存在显式转换(您是否缺少转换)?
这是算法:
class Quicksort
{
public static void Sort(float[] numbers, int left, int right)
{
float i = Convert.ToSingle(left);
float j = Convert.ToSingle(right);
var pivot = numbers[(left + right) / 2];
while (i <= j)
{
while (numbers[i] < pivot) //ERROR HERE
i++;
while (numbers[j] > pivot) //ERROR HERE
j--;
if (i <= j)
{
float tmp = numbers[i]; //ERROR HERE
numbers[i] = numbers[j]; //ERROR HERE
numbers[j] = tmp; //ERROR HERE
i++;
j--;
}
}
if (left < j)
Sort(numbers, left, j);
if (i < right)
Sort(numbers, i, right);
}
}
numbers[i]每当我使用或时出现转换错误numbers[j]
我将如何解决这个问题?
噜噜哒
相关分类