快速排序--过程详解
来源:互联网 发布:植物大战僵尸源码 编辑:程序博客网 时间:2024/05/17 06:29
快速排序
1. 时间复杂度 O(N*LogN)
2.个人认为快速排序是不断的分治、递归的进行它排序操作过程,直到排序完成
3. 进行一次排序操作后,把指定的一个数,放到该序列应该在的位置,这个数的左边都比这个数小,这个数的右边都比这个数大。
以3 ,7 ,8 ,4 ,2 ,1 ,9 ,5 为例进行排序演示
当进行一次排序操作后字符串变化如下:
1.准备:需要有一个变量存储指定的数,这里用 temp ,用front和end变量记录序列位置;初始是指向首尾;
2. end指向位置向左移动的找比 temp 小的数,如果小,将end指向的数赋给front向的数
3. front指向位置向右移动的找比 temp 大的数,如果小,将front指向的数赋给end向的数
4. end左移,发现 2 小于 temp的值,将 2 赋值给front所指的位置。 然后front 右移
5.Front指向的数大于temp的值 3 ,将8赋给end所指的数。然后end向左移动
6.end左移,发现 2 小于 temp的值,将 2 赋值给front所指的位置。 然后front 右移
7.Front指向的数大于temp的值 3 ,将8赋给end所指的数。然后end向左移动
8.当 front和end指向的数重合,将temp的值 赋给,它们指向的数
9. 至此,一趟排序操作完成,接下来以 3 为基准进行二分,左边和右边继续进行此操作 ,直到排序完成
如发现错误请指正!
转载请注明出处!
1 0
- 快速排序--过程详解
- 快速排序 过程图解
- 快速排序详解
- 快速排序(详解)
- 快速排序法详解
- 快速排序详解
- 快速排序 详解
- 快速排序法详解
- 快速排序法详解
- Java快速排序详解
- 快速排序详解
- 快速排序详解
- 快速排序详解
- 快速排序详解
- 快速排序详解
- 快速排序代码详解
- 【19】-快速排序详解
- 快速排序详解
- Android Studio——dp、sp
- 【HCTF】2015hctf单刷_writeup
- shadowColor 图片阴影 iOS
- mutating的使用(swift2.0)
- Python异常
- 快速排序--过程详解
- Linux下的五种I/O模型
- 使用 AsyncTask 下载图片,并在下载前设置本地图片显示
- Gradle-Eclipse插件安装
- 文件压缩与解压缩
- 隐藏和现实导航栏
- Javascript-类-模块化[面向对象已经无处不在]
- 用例子解释:如何设置CLASSPATH(Java)
- AIM documentation templates