C#排序算法之快速排序解析
作者:mlovelcottage 时间:2023-03-21 00:39:28
本文实例为大家分享了C#实现快速排序的具体代码,供大家参考,具体内容如下
代码:
/// <summary>
/// 排序
/// </summary>
/// <param name="array">要排序的数组</param>
/// <param name="low">下标开始位置,向右查找</param>
/// <param name="high">下标开始位置,向左查找</param>
public static void Sort(int[] array, int low, int high)
{
if (low >= high)
return;
//完成一次单元排序
int index = SortUnit(array, low, high);
//递归调用,对左边部分的数组进行单元排序
Sort(array, low, index - 1);
//递归调用,对右边部分的数组进行单元排序
Sort(array, index + 1, high);
}
/// <summary>
/// 单元排序
/// </summary>
/// <param name="array">要排序的数组</param>
/// <param name="low">下标开始位置,向右查找</param>
/// <param name="high">下标开始位置,向右查找</param>
/// <returns>每次单元排序的停止下标</returns>
public static int SortUnit(int[] array, int low, int high)
{
int key = array[low];//基准数
while (low < high)
{
//从high往前找小于或等于key的值
while (low < high && array[high] > key)
high--;
//比key小开等的放左边
array[low] = array[high];
//从low往后找大于key的值
while (low < high && array[low] <= key)
low++;
//比key大的放右边
array[high] = array[low];
}
//结束循环时,此时low等于high,左边都小于或等于key,右边都大于key。将key放在游标当前位置。
array[low] = key;
return high;
}
来源:https://blog.csdn.net/miluli1/article/details/85990704
标签:C#,快速排序
0
投稿
猜你喜欢
IDEA JavaWeb项目启动运行后出现404错误的解决方法
2022-05-19 01:22:11
详解android系统的定制
2022-03-14 11:20:19
Android实现webview实例代码
2022-05-28 13:32:32
Springboot - Fat Jar示例详解
2023-11-19 21:28:35
Java实战之实现在线小说阅读系统
2022-10-09 18:15:09
通过IDEA快速定位和排除依赖冲突问题
2021-06-07 02:01:16
WheelPicker自定义时间选择器控件
2023-05-16 18:30:05
Commons beanutils组件简介
2023-11-28 07:13:27
详解SpringBoot通用配置文件(不定时更新)
2022-12-01 09:07:04
Java线程池 ThreadPoolExecutor 详解
2021-05-24 10:35:42
C# List集合中获取重复值及集合运算详解
2022-06-13 17:15:45
Android仿IOS上拉下拉弹性效果的实例代码
2023-08-26 06:49:18
Android实现图片的高斯模糊(两种方式)
2023-01-24 05:42:48
Springboot中登录后关于cookie和session拦截问题的案例分析
2022-09-25 19:26:44
C#中out保留字用法实例分析
2021-07-28 18:44:54
C# 网络编程之UDP
2021-10-02 16:06:40
C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
2023-06-16 07:54:29
Spring boot的上传图片功能实例详解
2022-10-09 09:52:00
23种设计模式(14)java迭代器模式
2021-12-12 15:28:49
四步轻松搞定java web每天定时执行任务
2022-03-31 20:57:08