我正在尝试实现数组(文件)的quickSort,但这样做会出现2个错误。我将在代码中将它们注释掉。
static int[] quick(int[] array, int start, int end)
// 'quick(int[], int, int)': Not all code paths return a value (i have tried to return this.)
{
int i3;
if (start < end)
{
i3 = Partition(array, start, end);
quick(array, start, i3 - 1);
quick(array, i3 + 1, end);
}
}
static int Partition(int[] array, int start, int end)
{
int temp;
int p = array[end];
int i3 = start - 1;
for (int j = start; j <= end - 1; j++)
{
if (array[j] <= p)
{
i3++;
temp = array[i3];
array[i3] = array[j];
array[j] = temp;
}
}
temp = array[i3 + 1];
array[i3 + 1] = array[end];
array[end] = temp;
return i3 + 1;
}
Console.WriteLine("The file sorted via a Quick Sort is: ");
foreach (int q1 in f)
Console.Write(q1 + " ");
return quick;
// Since 'Program.Main(string[])' returns void, a returner keyword must not be followed by an object expression..
}
我对C#还是相当陌生,不了解这些错误,当我将Main更改为对象时,它没有任何变化,希望这是有道理的,对所有帮助有所帮助。
对于第一个错误,您必须在quick方法中返回某些内容,因为您的方法具有返回值并且类型为int []
我不确定第二个问题