小白成长之路(6)--快速排序
2017-10-31 22:52
357 查看
#include <iostream> using namespace std; //快速排序,最差时间复杂度O(n^2), //最好时间复杂度O(nlog2N),平均时间复杂度O(nlog2N) //不稳定,空间复杂度O(nlog2N) void quick_Sort(int a[], int, int); void quick_Sort(int s[], int l, int r) { if (l < r) { int i = l, j = r, x = s[l];//s[l]为数组第一个数,即基数 while (i < j) { while (i < j && s[j] >= x) j--; if (i < j) s[i++] = s[j]; while (i < j && s[i] < x) i++; if (i < j) s[j--] = s[i]; } s[i] = x; quick_Sort(s, l, r - 1); quick_Sort(s, l + 1, r); } } int main() { int array[] = { 34.65,12,43,67,5,78,10,3,70 }, k; int len = sizeof(array) / sizeof(int); cout << "The orginal arrayare:" << endl;//第一行 for (k = 0; k < len; k++) { cout << array[k] << ",";//第二行 } cout << endl; quick_Sort(array, 0, len - 1);//先调用函数重新排列数组 cout << "The sorted arrayare:" << endl;//第三行 for (k = 0; k < len; k++) { cout << array[k] << ",";//第四行 } cout << endl; cin.get(); }
运行结果:
相关文章推荐
- linux小白成长之路4————centos7配置自动更新安装安全补丁
- 技术小白的AI产品经理成长之路第一步(吴恩达《深度学习工程师》学习笔记2.1二分分类)希望可以给同为技术小白的同学一点深参考
- 小白成长之路(1)--应用CSS之前的必须看懂的代码
- Python小白学习笔记(成长之路)
- 小白排序之快速排序解读
- 小白成长之路
- 小白成长之路(8)--(python)变量数据存储
- linux小白成长之路5————安装Docker
- 小白进阶之快速排序
- linux小白成长之路6————安装Java+Apache(httpd)+Tomcat
- 小白学算法3.3——三向字符串快速排序
- linux小白成长之路7————Docker安装mysql
- linux小白成长之路10————SpringBoot项目部署进阶
- 快速排序(小白入门专用,大神请无视)
- linux小白成长之路10————SpringBoot项目部署进阶
- 超小白教程之快速排序
- python用户登录程序检验【小白成长之路】
- 小白成长之路(7)--C++多层派生类继承实例(期中考试)
- linux小白成长之路2————yum安装火狐浏览器
- linux小白成长之路8————访问Docker中的mysql