.net 快速排序 (实现)
来源:互联网 发布:华为ac6605的mac oid 编辑:程序博客网 时间:2024/06/05 16:25
快速排序是对冒泡排序的一种改进。他的基本思想是,通过一趟排序将待排记录分割成独立的两部分。其中一部分记录的关键字比较均比另一部分的关键小,则可分为对这两部分记录继续进行排序。以达到整个序列有序。
int[] sortArray = new int[] { 45,36,54,2,4,65,22,3,45,65,4,3,88,99,100,14,133,22};
这是一个递归的方法:
private void Recursion(int[] sortArray, int left, int right){ if (left >= right) return; int il = left; int jr = right; int temp = sortArray[left];//设置数组的第一个元素为比较基数 while (left != right) { //从右向左找 while(right > left){ if (temp > sortArray[right]){ int m = sortArray[left]; sortArray[left] = sortArray[right]; sortArray[right] = m; break; } right--; } //从左向右找 while (right > left){ if (temp <= sortArray[left]){ int m = sortArray[left]; sortArray[left] = sortArray[right]; sortArray[right] = m; break; } left++; } } Recursion(sortArray, il, left - 1); Recursion(sortArray, left + 1, jr); }
输出就好:
Recursion(sortArray, 0, sortArray.Length - 1); StringBuilder bui = new StringBuilder(); for (int i = 0; i < sortArray.Length; i++) { bui.Append(sortArray[i]).Append(" "); } return bui.ToString();
- .net 快速排序 (实现)
- 快速排序实现(JAVA)
- 快速排序(C++实现)
- 快速排序(java实现)
- 快速排序(递归实现)
- 快速排序(java实现)
- 快速排序实现(QuickSort)
- 快速排序(C++实现)
- 快速排序(java实现)
- 快速排序(Python实现)
- 快速排序(C++实现)
- 快速排序实现(Java)
- 快速排序(java实现)
- 快速排序(java实现)
- 快速排序(自己实现)
- 快速排序(Java实现)
- 快速排序(python实现)
- 排序算法(C实现)--------- 快速排序
- 解决a different object with the same identifier value was already associated with the session错误
- 大规模Web服务开发技术
- 一个学习编程技术的好网站-http://www.tutorialspoint.com/index.htm
- XNA4.0 2D游戏学习提问
- 代码段汇总
- .net 快速排序 (实现)
- iterator与pointer的区别之一
- c++应用技巧
- VBA中Range的使用方法-Excel VBA学习
- centos 防火墙配置
- 谈谈用ASP.NET开发的大型网站有哪些架构方式(成本)
- 使用JSON报的一个错误java.lang.ClassNotFoundException
- 在windows下载android sdk的代码 (初学者看)
- jar 不是内部或外部命令,也不是可运行的程序或批处理文件