快速排序--C#代码篇
来源:互联网 发布:安卓游戏大作 知乎 编辑:程序博客网 时间:2024/06/07 04:49
引言:
上周总结了什么是快速排序,但是代码没有写出来,今天结合网上的资料总结了一下代码。
主函数:
static void Main(string[] args) { //定义一个数组 int[] array = { 49, 38, 65, 97, 76, 13, 27 }; //调用排序方法 sort(array, 0, array.Length - 1); Console.ReadLine(); }
排序方法:
/**一次排序单元,完成此方法,key左边都比key小,key右边都比key大。 **@param array排序数组 **@param low排序起始位置 **@param high排序结束位置 **@return单元排序后的数组 */ private static int sortUnit(int[] array, int low, int high) { int key = array[low]; while (low < high) { /*从后向前搜索比key小的值*/ while (array[high] >= key && high > low) --high; /*比key小的放左边*/ array[low] = array[high]; /*从前向后搜索比key大的值,比key大的放右边*/ while (array[low] <= key && high > low) ++low; /*比key大的放右边*/ array[high] = array[low]; } /*左边都比key小,右边都比key大。//将key放在游标当前位置。//此时low等于high */ array[low] = key; //依次输出数组中的数 foreach (int i in array) { Console.Write("{0}\t", i); } Console.WriteLine(); return high; } /**快速排序 *@paramarry *@return */ 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); }
0 0
- 快速排序--C#代码篇
- C#代码实现 快速排序
- C#算法 快速排序
- C# 快速排序
- 快速排序算法c#
- 快速排序---c#实现
- 快速排序c#
- C#快速排序
- C#快速排序算法
- C#实现快速排序
- C#快速排序集合
- C#快速排序
- C#快速排序
- C# 实现快速排序
- C#快速排序算法
- C# 快速排序
- 【C#数据结构】快速排序
- 快速排序 c#实现
- centos 7 下配置免密码登录
- 迟早有一天
- Android------recovery 模式启动进入流程
- 机器学习算法工程师需要掌握的技能与要踩的坑
- 4-表格
- 快速排序--C#代码篇
- 【NOIP2016提高A组模拟9.17】小a的强迫症
- 第三周项目3 求集合并集
- Butterknife 8.4.0的一些问题
- 数组排序法(一)
- java中的排序,I/o流,集合中的排序
- 2016.9.17测试解题报告
- 非python路径下,import caffe出错
- lua 与 C++交互总结