排序算法图解

1、冒泡排序

  1. 将第一个元素当成最大的,和后面的元素相比较,若后面元素大,则交换两个元素的位置,并且把两个元素中较大的当成最大的元素
  2. 依次循环即可

2、选择排序

  1. 将第一个元素当成最小的元素,与第二个元素比较,每次记录最小的元素
  2. 循环一轮即可找到最小的元素,第一轮循环找到最小的元素放第一位
  3. 第二轮循环找到第二小的元素放第二位,依次类推即可

3、插入排序

  1. 拿出第二个元素与第一个元素比较,则第一个与第二个元素就是有序子数组
  2. 拿出第三个元素插入前面的有序字数组中
  3. 依次将后面的元素一个一个的插入前面的有序子数组中,最后就可将整个数组排序好

4、希尔排序

  1. 先将整个数组分成好几个小数组
  2. 分别将这些小数组进行直接插入排序
  3. 将整个数组拆分为两个数组,奇数位的元素为一个数组,偶数位的元素为一个数组,对这两个数组分别再次进行插入排序
  4. 最后对整个数组进行插入排序

5、归并排序

  1. 先比较第一个元素和第一个元素,排好第一个与第二个(暂时叫第一个子数列)
  2. 再排列第三个和第四个元素(暂时叫第二个子数列)
  3. 再将第一个子数列和第二个子数列进行排序
  4. 依次类推即可

6、快速排序

  1. 第一步先找到一个基准,可以取第一个元素为基准
  2. 从左边开始(即第二个元素)找比基准小的数字,找到后,记录下来,暂时记为a[i]
  3. 从右边开始(即最后一个元素)找比基准大的数字,找到后,记录下来,暂时记为a[j]
  4. 交换a[i]和a[j]的位置
  5. 直到i=j,此时基准左边的数比基准小,右边的数比基准大
  6. 再依次对左右两边的数字再循环1~5的步骤即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值