CSharp 实现以递归实现归并排序 源代码
时间: 2023-10-18 07:23:51 浏览: 42
好的,以下是 CSharp 实现以递归实现归并排序的源代码:
```csharp
public static void MergeSort(int[] array, int left, int right)
{
if (left < right)
{
int middle = (left + right) / 2;
MergeSort(array, left, middle);
MergeSort(array, middle + 1, right);
Merge(array, left, middle, right);
}
}
public static void Merge(int[] array, int left, int middle, int right)
{
int[] temp = new int[right - left + 1];
int i = left, j = middle + 1, k = 0;
while (i <= middle && j <= right)
{
if (array[i] <= array[j])
{
temp[k] = array[i];
i++;
}
else
{
temp[k] = array[j];
j++;
}
k++;
}
while (i <= middle)
{
temp[k] = array[i];
i++;
k++;
}
while (j <= right)
{
temp[k] = array[j];
j++;
k++;
}
for (i = left; i <= right; i++)
{
array[i] = temp[i - left];
}
}
```
请问您还有其他问题吗?