详解排序算法(二)之2种交换排序(冒泡排序、快速排序)

冒泡排序

所谓冒泡排序,就是相邻的两个元素相互比较并根据比较结果决定是否交换位置。如从小到大排序,相邻两个元素两两比较,将值更大的元素交换到右侧,如此到最后一个元素,就能确定最大的一个值,一轮排序结束。若某一轮排序交换位置的次数为0,则排序结束。

我们取 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48 来进行示范

第一轮排序

  1. 344 比较 ,3 < 44 ,不变 ,得 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48

  2. 4438 比较 ,44 > 38,4438 交换,得 3, 38, 44, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48

  3. 445 比较 ,44 > 5445 交换,得 3, 38, 5, 44, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48

  4. 4447 比较 ,44 < 47,不变 ,得 3, 38, 5, 44, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48

  5. 4715 比较 ,47 > 154715 交换,得 3, 38, 5, 44, 15, 47, 36, 26, 27, 2, 46, 4, 19, 50, 48

  6. 4736 比较 ,47 > 364736 交换,得 3, 38, 5, 44, 15, 36, 47, 26, 27, 2, 46, 4, 19, 50, 48

  7. 4726 比较 ,47 > 264726 交换,得 3, 38, 5, 44, 15, 36, 26, 47, 27, 2, 46, 4, 19, 50, 48

  8. 4727 比较 ,47 > 274727 交换,得 3, 38, 5, 44, 15, 36, 26, 27, 47, 2, 46, 4, 19, 50, 48

  9. 472 比较 ,47 > 2472 交换 , 得 3, 38, 5, 44, 15, 36, 26, 27, 2, 47, 46, 4, 19, 50, 48

  10. 4746比较 ,47 > 464746 交换,得 3, 38, 5, 44, 15, 36, 26, 27, 2, 46, 47, 4, 19, 50, 48

  11. 474 比较 ,47 > **4 **,474 交换 ,得 3, 38, 5, 44, 15, 36, 26, 27, 2, 46, 4, 47, 19, 50, 48

  12. 4719 比较 ,47 > 194719 交换,得 3, 38, 5, 44, 15, 36, 26, 27, 2, 46, 4, 19, 47, 50, 48

  13. 4750 比较 ,47 < 50,不变 ,得 3, 38, 5, 44, 15, 36, 26, 27, 2, 46, 4, 19, 47, 50, 48

  14. 5048 比较 ,50 > 485048 交换,得 3, 38, 5, 44, 15, 36, 26, 27, 2, 46, 4, 19, 47, 48, 50

第一轮排序结束,交换位置次数:11

第二轮排序同理

当某一轮排序交换位置次数为

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值