【数据结构】排序之交换排序(冒泡 |
您所在的位置:网站首页 › 选择排序和交换排序的基本思想 › 【数据结构】排序之交换排序(冒泡 |
交换目录
1. 前言2. 交换排序3. 冒泡排序3.1 分析3.2 代码实现
4. 快速排序4.1 hoare版本4.1.1 分析4.1.2 hoare版本代码
4.2 挖坑法4.2.1 分析4.2.2 挖坑法代码实现
4.3 前后指针版本4.3.1 分析4.3.2 前后指针版本代码实现
1. 前言
在之前的博客中介绍了插入排序,有需要的可以点这个链接: link,这次来介绍交换排序,包括冒泡和快排。 话不多说,正文开始。 2. 交换排序基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。 交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 交换排序这里介绍冒泡排序和快速排序,来一起看看。 3. 冒泡排序
冒泡排序的特性总结: 冒泡排序是一种非常容易理解的排序时间复杂度:O(N^2)空间复杂度:O(1)稳定性:稳定 3.1 分析交换排序肯定离不开交换,就先写一个Swap。 void Swap(int* p1, int* p2) { int tmp = *p1; *p1 = *p2; *p2 = tmp; }同样的方法,先实现单趟排序,如果前一个大于后一个就交换,把最大的放在了最后。 得注意把控区间的位置,如果if中的代码是a[i+1]>a[i],那么上面循环的区间就是从0到n-1。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |