重温快速排序
来源:互联网 发布:多益网络官网账号注册 编辑:程序博客网 时间:2024/04/29 18:39
步骤:
1.从数列中挑出一个元素,称为 “基准”(pivot)
2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序
具体实现:
1.一、假设我们给一个int数组进行排序,数组中数字初始序列为int a[9]={3,6,5,9,7,1,8,2,4}
2.分析快速排序的原理前,我们先声明一些东西,首先设置一个临时变量用来存放随机取出数组中的一个数,一般我们取数组的第一个元素也就是说temp=a[0],同时设置两个游标分别指向数组第一个元素和最后一个元素
3.算法的基本运算步骤为:1、依次比较数组的后游标所指与temp的大小,如果temp<a[j],则j--,直到遇到第一个temp>a[j],则停止移动,将a[j]赋值给a[i]
4.算法的基本运算步骤为:2、依次比较数组的前游标所指与temp的大小,如果temp>a[i],则i++,直到遇到第一个temp<a[i],则停止移动,将a[i]赋值给a[j]
5.算法运算步骤为:3、判断i是否等于j,如果不相等则循环1、2步,直到i等于j,则完成一次快速排序
6.算法解释:这样一次循环做完后结果就是比temp小的尽量放在temp前,比temp大的尽量放在temp后。但是这种顺序不是稳定的,会有调整。因此快速排序不是一种稳定的排序。以下是实现程序。
7.一次排序完之后在分别对temp前的数组元素和temp后的数组元素分别进行快排,直到数组元素个数为1则停止。
- 重温快速排序
- 重温排序之快速排序(qsort)
- 重温排序法之--快速排序法
- 简单重温快速排序法(QuickSort)
- 重温冒泡排序
- 重温冒泡排序
- 数据结构--排序之重温
- 重温数据结构-排序算法
- 重温常见排序法
- 重温一下各种排序算法
- 重温java冒泡排序算法
- 重温算法之选择排序
- 重温算法之插入排序
- 重温《C++ Primer》笔记一 快速入门
- 重温
- 四、重温数据结构之外部排序
- 重温冒泡排序法1.0版
- 重温选择排序法1.0版
- How to turn off Wifi via ADB
- HDU 4888 Redraw Beautiful Drawings (最大流唯一性判定 Dinic)
- Summary about summer camp of BeiHang University
- 简析运维监控系统及Open-Falcon
- ubuntu14.04 安装nfs server, 并在开发板上mount步骤
- 重温快速排序
- echarts中的option.legend.data has not been defined.
- java内存可见性
- iOS 设置app文件共享
- 工作总结—HMC5883L应用的一些说明
- 反射实现深拷贝
- android中注解的简单实用
- Integer与int的区别
- 读jQuery之六(缓存数据)