C#中实现快速排序算法的代码示例

作者:佚名 上传时间:2023-05-10 运行软件:C# 软件版本:Visual Studio 2019 版权申诉

下面是一个C#语言实现快速排序算法的示例代码:

public static void QuickSort(int[] arr, int left, int right)
{
    if (left >= right) return;

    int i = left, j = right, pivot = arr[left];

    while (i < j)
    {
        while (i < j && arr[j] >= pivot) j--;
        if (i < j) arr[i++] = arr[j];

        while (i < j && arr[i] < pivot) i++;
        if (i < j) arr[j--] = arr[i];
    }

    arr[i] = pivot;

    QuickSort(arr, left, i - 1);
    QuickSort(arr, i + 1, right);
}

代码释义:

  • left:数组的起始位置;
  • right:数组的终止位置;
  • i:数组左边的游标,从左往右扫描;
  • j:数组右边的游标,从右往左扫描;
  • pivot:数组的第一个元素,即枢纽元素。

算法的核心是分治,即将数组分成两部分,左边是小于枢纽元素的,右边是大于等于枢纽元素的。然后递归地对每个部分进行排序。

总结:

快速排序算法是一种高效的排序算法,时间复杂度为 O(nlogn),相比其他排序算法,它的优势在于能够在原地进行排序,不需要额外的空间。使用快速排序算法时需要注意边界条件和枢纽元素的选择。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
C++
快速排序是一种高效的排序算法,通过将一个大的数组划分为两个较小的部分进行递归排序来实现。本示例代码演示了如何用 C++ 实现快速排序算法。#include <iostream>usin
C++ 11
Visual Studio 2019
2023-05-12 15:02
C#
下面是一个C#语言实现快速排序算法的示例代码:public static void QuickSort(int[] arr, int left, int right){ if (left
Visual Studio 2019
C#
2023-05-10 17:40
使用C++
快速排序是一种高效的排序算法,它的时间复杂度为O(nlogn),对于大规模的数据排序非常有效。下面是使用C++实现快速排序算法的示例代码。代码实现#include <iostream>
C++11
Visual Studio 2017
2023-04-04 08:45
使用C++
示例代码下面是使用C++实现快速排序算法的示例代码:#includeusing namespace std;void quick_sort(int* a, int left, int righ
C++17
Visual Studio 2019
2023-03-07 21:40
C#
该示例代码演示了如何在C#中使用快速排序算法进行数组排序。实现方式是通过递归和分治法,将待排序数组分成左右两个子数组,再用递归的方法对左右子数组进行相同的排序操作,直到左右子数组变成只有一个元素。然后
Visual Studio 2019
Microsoft Visual Studio
2023-04-04 19:07
Rust
该示例代码展示了如何使用Rust语言实现快速排序算法。通过将大问题拆分为小问题并递归求解,此算法可以在较短的时间内对数据进行排序。fn quick_sort(mut arr: &mut [i
Rust 1.54.0
Rust编程语言
2023-03-22 20:32
Scala
本示例展示了如何使用Scala语言实现快速排序算法,利用递归函数的特性对数组进行排序,使得排序效率高。object QuickSort { def sort(arr: Array[Int]):
Scala 2.12
IntelliJ IDEA
2023-03-30 14:03
Smalltalk
本示例展示了如何使用Smalltalk语言实现快速排序算法。快速排序算法可以对任何类型的数据进行排序,并且其复杂度为O(nlogn)。| arr low high pivot |arr := #(
Pharo 8.0
Pharo Smalltalk
2023-04-23 12:33
Dart
该代码展示了如何使用Dart语言实现快速排序算法,该算法是一种常用的排序算法,可用于对数据进行排序。// 快速排序算法的实现List<int> quickSort(List<in
Dart 2.12.4
Dart SDK
2023-04-28 14:04
Smalltalk
本示例代码展示了如何使用Smalltalk语言实现快速排序算法,该算法是常见的排序算法之一,能够快速将一个无序列表排序成有序列表。(注释中含中文解释)quickSort: aList &q
Smalltalk-80
Smalltalk语言实现的编译器
2023-05-20 05:18