C#版本的呢
时间: 2023-07-27 21:14:25 浏览: 58
好的,下面是C#版本的快速排序代码:
```csharp
using System;
public class QuickSort {
public static void QuickSortAlgorithm(int[] nums, int left, int right) {
if (left >= right) {
return;
}
int pivot = Partition(nums, left, right);
QuickSortAlgorithm(nums, left, pivot - 1);
QuickSortAlgorithm(nums, pivot + 1, right);
}
public static int Partition(int[] nums, int left, int right) {
int pivot = nums[left];
int i = left + 1, j = right;
while (i <= j) {
if (nums[i] < pivot && nums[j] > pivot) {
Swap(nums, i++, j--);
}
if (nums[i] >= pivot) {
i++;
}
if (nums[j] <= pivot) {
j--;
}
}
Swap(nums, left, j);
return j;
}
public static void Swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
public static void Main(string[] args) {
int[] nums = {3, 7, 1, 2, 5, 4};
QuickSortAlgorithm(nums, 0, nums.Length - 1);
foreach (int num in nums) {
Console.Write(num + " ");
}
}
}
```
这段代码与之前的Java代码非常相似,只是语法有些差异。快速排序的核心思路是一样的,选定一个基准值,然后把数组中比基准值小的数放到左边,比基准值大的数放到右边。然后递归地对左右两部分进行同样的操作,直到每一部分只有一个数或者为空。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)