选择排序与冒泡排序的区别

选择排序与冒泡排序的区别

选择排序和冒泡排序的区别

一、选择排序
例如以下的数组为 5 6 8 2 4 1 9 3 7
对应的数组下标为 0 1 2 3 4 5 6 7 8
选择排序是
(1)第一次遍历
先令minPos=0,
arr[0]=5 < a[1]=6 ;可推出minPos=0
arr[0]=5 < a[2]=8 ;可推出minPos=0
arr[0]=5 > a[3]=2 ;可推出minPos=3
arr[3]=2 < a[4]=4 ;可推出minPos=3



可推出minPos=5
此时arr[0] 和 arr[minPos]即arr[5] 互换位置
此时数组为 1 6 8 2 4 5 9 3 7
(2)第二次遍历
令minPos=1,
arr[1]=6 < arr[2]=8 ;可推出minPos=1
arr[1]=6 > arr[3]=2 ;可推出minPos=3
arr[3]=2 < arr[4]=4 ;可推出minPos=3



可推出minPos=3
此时arr[1] 和 arr[minPos]即arr[3] 互换位置
此时数组为 1 2 8 64 5 9 3 7
(3)第三次遍历


二、冒泡排序

例如以下的数组为 5 6 8 2 4 1 9 3 7
对应的数组下标为 0 1 2 3 4 5 6 7 8

(1)第一次遍历
arr[0]=5 < arr[1]=6 , 数组为 5 6 8 2 4 1 9 3 7
arr[1]=6 < arr[2]=8 , 数组为 5 6 8 2 4 1 9 3 7
arr[2]=8 > arr[3]=2 ,数组为 5 6 2 8 4 1 9 3 7
即将arr[2]与arr[3]相交换
arr[3]=8 >arr[4]=4 ,数组为 5 6 2 4 8 1 9 3 7
即将arr[3]与arr[4]相交换
arr[4]=8 >arr[5]=1 ,数组为 5 6 2 4 1 8 9 3 7
即将arr[4]与arr[5]相交换
arr[5]=8 <arr[6]=9 ,数组为 5 6 2 4 1 8 9 3 7
arr[6]=9 >arr[7]=3 ,数组为 5 6 2 4 1 8 3 9 7
即将arr[6]与arr[7]相交换
arr[7]=9 >arr[8]=7 ,数组为 5 6 2 4 1 8 3 7 9
即将arr[7]与arr[8]相交换
此时第一次遍历结束
(2)第二次遍历


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值