C#快速排序算法实例分析
2015-04-27 11:58
1086 查看
本文实例讲述了C#快速排序算法。分享给大家供大家参考。具体实现方法如下:
public static int[] QuickSort(int[] arr) { if (arr.Length <= 1) return arr; int pivot = arr.Length - 1; int[] less = GetLessThanEqualToPivot(arr, pivot); int[] greater = GetGreaterThanPivot(arr, pivot); return Concatenate(QuickSort(less),arr[pivot],QuickSort(greater)); } public static int[] Concatenate(int[] less,int pivotElement,int[] greater) { List<int> _result = new List<int>(); _result.AddRange(less); _result.Add(pivotElement); _result.AddRange(greater); return _result.ToArray(); } public static int[] GetLessThanEqualToPivot(int[] arr, int pivot) { List<int> _result = new List<int>(); for (int i = 0; i < arr.Length - 1; i++) { if (arr[i] <= arr[pivot]) { _result.Add(arr[i]); } } return _result.ToArray(); } public static int[] GetGreaterThanPivot(int[] arr, int pivot) { List<int> _result = new List<int>(); for (int i = 0; i < arr.Length - 1; i++) { if (arr[i] > arr[pivot]) { _result.Add(arr[i]); } } return _result.ToArray(); }
希望本文所述对大家的C#程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- WinDbg+SOS:Web服务器CPU(100%)实例分析
- CodeIgniter配置之database.php用法实例分析
- Linux I2C设备驱动编写(三)-实例分析AM3359
- JavaScript执行环境及作用域链实例分析
- cocos2d-x高仿捕鱼达人实例分析(四)
- mysql5.6.7多实例安装、配置的详细讲解分析及shell启动脚本的编写
- SlidingMenu官方实例分析5——FragmentChangeActivity
- 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析
- JS遍历数组及打印数组实例分析
- HBase之旅四:HBase MapReduce实例分析(转自:Taobao QA Team)
- 聚集索引和非聚集索引 - 实例分析
- PHP7标量类型declare用法实例分析
- SSH框架总结(框架分析+环境搭建+实例源码下载)
- 用python玩转selenium:2-入门实例及分析
- 存储过程造成严重安全后门――记某电商SQL注入安全事件实例分析
- IP和子网掩码实例分析
- python编程开发之类型转换convert实例分析
- H3C项目实例分析
- 实例分析-在FLASH上构造JFFS2文件系统