快速排序
来源:互联网 发布:淘宝网泳衣专卖店 编辑:程序博客网 时间:2024/05/01 17:09
基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。(来自百度百科)
最理想的情况下时间复杂度为O(nlog2n),最不理想情况下为O(n2)。
以下为代码:
#include <iostream>#include <stdlib.h>using namespace std;void quickSort(int *Val,int n){int i=0, j=n-1;int a = Val[0];if (n > 1){while (i < j){for (;j>i; --j){if (Val[j] < a){Val[i] = Val[j];break;}}for (; i<j; ++i){if (Val[i] > a){Val[j] = Val[i]; break; }}}Val[i] = a;quickSort(Val, i );quickSort(Val + i+1, n - i-1);}}int main(){int n = 6;int *arr = new int[n];cout << "Please input the array:" << endl;for (int i = 0; i != n; ++i)cin >> arr[i];quickSort(arr,n);for (int i = 0; i != n; ++i)cout << arr[i] << endl;system("Pause");return 0;}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- .net .cs文件中执行javascript脚本
- struts1配置文件之input
- android http server播放直播码流分析
- Java nio 学习笔记(二) Charset(字符集)与Selector(异步IO)的知识
- ThreadLocal 正解
- 快速排序
- 尼康数码相机存储卡照片恢复,相机存储卡数据恢复工具
- 文件传输错误 64位到32位系统
- 多式样ProgressBar
- 人脸识别新技术准确率超99%:比肉眼更加精准
- 【编程之美】2.5寻找最大的k个数
- python基础教程_学习笔记15:标准库:一些最爱——fileinput
- 命名空间
- 协议栈各层功能及原语概念