C++代码实现快速排序
来源:互联网 发布:javascript 书 编辑:程序博客网 时间:2024/06/06 01:09
#include <iostream>using namespace std;// quick sort //另外,如果数组是引用传递可以通过函数模板的实参推断来自动获得它长度template<typename T,int N> void printArr(T (&arr)[N]){ int i = 0; while(i<N) { cout << arr[i] <<" "; i++; } cout <<endl;}void swap(int &p,int &q){int temp = p;p= q;q=temp;}int getIndex(int arr[],int nLow,int nHigh){int nTemp = arr[nHigh];int j = nLow - 1;for(int i=nLow;i<nHigh;i++){if ( arr[i] <= nTemp) { j=j+1;swap(arr[j],arr[i]);}}swap(arr[j+1],arr[nHigh]);return j+1;}void quickSort(int arr[],int nLow,int nHigh){if (nLow < nHigh){int nIndex = getIndex(arr,nLow,nHigh);quickSort(arr,nLow,nIndex-1);quickSort(arr,nIndex + 1,nHigh);}}int main(){#ifdef __cpluspluscout <<"c++" <<endl;#elsecout <<"c " <<endl;#endifint arr[] = {52,49,80,36,14,75,58,56,57,78,42,22,22,44}; quickSort(arr,0,sizeof(arr)/sizeof(arr[0]));printArr(arr);return 0;}
http://www.cnblogs.com/pugang/archive/2012/06/27/2565093.html
具体逻辑见上面的链接
0 0
- 快速排序的C语言代码实现
- 快速排序的C语言代码实现
- 快速排序的C语言代码实现
- 快速排序的C语言代码实现
- 快速排序的c语言实现代码
- 快速排序 C代码
- 快速排序 代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序实现代码
- 快速排序代码实现
- 快速排序c实现(代码来自c programming language)
- 算法代码实现之快速排序,C/C++实现
- 快速排序c实现
- 快速排序C实现
- 快速排序C实现
- 快速排序C实现
- oc6
- Solving “Dynamic Web Module 3.0 requires Java 1.6 or newer” in Maven Projects
- 三级联动的省市县下拉菜单
- inflate中的参数
- Linux20-shell编程基础、数值计算、字符串处理
- C++代码实现快速排序
- Runloop学习总结
- Java HashMap源码简析
- C语言读取文本文档里面的字符and 和只读一行;
- 我电脑上python相关软件
- UVa:10494 - If We Were a Child Again
- c++ part3
- UVA - 152 - Tree's a Crowd
- Android-动画小结