小白成长之路(6)--快速排序
来源:互联网 发布:记考勤软件下载 编辑:程序博客网 时间:2024/05/22 06:06
#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();}
运行结果:
阅读全文
0 0
- 小白成长之路(6)--快速排序
- 小白成长之路(4)--冒泡排序
- 小白成长之路(5)--插入排序(直接插入,二分插入,希尔排序)
- 菜鸟成长之快速排序
- 小白成长之路
- 小白排序之快速排序
- 小白排序之快速排序解读
- 小白成长日记(2)--选择排序之二元选择排序
- 小白成长日记(11)--选择排序之堆排序
- 小白进阶之快速排序
- 技术小白成长之路
- 小白的成长之路
- 技术小白的成长之路
- 小白的成长之路
- 小白成长日记(3)--简单选择排序
- 小白成长日记(10)--使用快速排序寻找乱序数组中的第k大的值(c++)
- linux成长之路(makefile快速入门)
- 快速排序5分钟快速学习(小白指南)
- HDU
- JAVA中连接HBASE的常用API
- 不知道STAR法则还敢去面试?备受500强HR推崇的STAR法则详解
- 移动Web前端开发高效实战(一)
- 记录自己的django学习
- 小白成长之路(6)--快速排序
- 应用软件>程序员必备知识(一)
- vue 短信验证码
- Financial engineering and risk management
- 关于c语言的一些初步运算实例
- Windows系统运行VirtualBox一直出现0x00000000指令引用的0x00000000内存该内存不能为written
- hdu 1394 Minimum Inversion Number(暴力或线段树)
- 文章标题
- Mybatis参数获取时$与#的区别