栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

排序算法有哪些?选择排序,冒泡排序,插入排序,快速排序,希尔排序,合并排序

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

排序算法有哪些?选择排序,冒泡排序,插入排序,快速排序,希尔排序,合并排序

  1. 选择排序
  2. 冒泡排序
  3. 插入排序
  4. 快速排序
  5. 希尔排序
  6. 合并排序
选择排序

选择排序就是一遍一遍的的将待排序序列遍历,找出最小的元素,放在前面。
个人理解:1,3,2,4 1和3比较,然后再和2比较,再和4比较,最后找出1最小,放在最前面

冒泡排序

通过相邻的元素之间的对比,将最大的放在后面
个人理解:3,2,1 。3和2比较,2小放前面,3和1对比,1在前面,3在最后面

插入排序

个人理解:第一个为已排序序列,选第二个插入已排序序列,然后从后往前比较,最小的放最前面。

快速排序

个人理解:以第一个数为基准数,从前面找比他大的数,然后再从后面找比它小的数,然后交换。小的数就会在前面,大的数就会在后面。

第一轮快速排序

第二轮快排

第三轮排序:之前的59基准数将序列分成了两个分区,59前面的元素和59后面的元素。

第四轮排序:基准数34又将序列分成了两个分区,只能先处理子序列16和25两个元素

最后一轮排序:处理59后面的分区以及最后基准数84分出来的分区

希尔排序

个人理解:就是将无序序列分组,分组的依据,将序列长度的一半作为增量去分组,每处理完一个增量,增量就会减少1,直到增量为1。

合并排序

个人理解,先分再处理,处理完再合起来。

第一组序列0-3排序

第二组序列4-7排序

最后合并0-3和4-7

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/604194.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号