冒泡法实现排序

冒泡法实现排序

算法:①比较第一个数与第二个数,若a【0】>a【1】,则交换;然后比较后续数字,依次类推;直到第n-1个和第n个数比较为止 第一趟气泡排序,结果最大的数在最后一个元素位置上

②对前n-1个数进行第二趟冒泡排序,结果使次大的数被防在第n-1个元素位置

③重述上述过程,共经过n-1躺冒泡排序后,排序结束

外层循环j(1~n-1)次 内层循环i(1~n-j)次

代码说明:

十个数字比较九轮

①for(j=0;j<9;j++)外层循环

表示轮数,为9是因为每轮比较数字,都会有数字沉底,次数少一轮,是从j=0开始第一轮

②for(i=0;i<9-j;i++) 内层循环

表示次数,一轮里面比较多少次,i=0是第一次比较,每比较完一次,就有一个数字上浮,所以有i=1一直到i小于9-j

两者结合就是,当j=0,第一轮时,i=0,比较a【0】和a【1】两数,若a【0】较大,i=1,比较a【0】与a【2】两数

第一轮 (最后一列为比较完的最终结果) 第二轮 第三轮 第四轮 第五轮

(不知道怎么用文字组织表达我的理解,但是如果不写出来我好像还是理解不了这个玩意md,半懂半不懂的真的是可恶(〃>皿<),说不清楚自己哪里不理解真的要命)

当有6个数字进行冒泡排序,j<5,

j=0进行第一轮比较,6-j即i<6,有5次比较,6个数字相互比较,只用比5次。

j=1时,进行第二轮比较,6-1=5,i<5,剩下5个数字,有4次比较

j=2时,第三轮比较,6-2=4,i<4,剩下4个数字,比较3次

j=3时,第四轮比较,6-3=3,i<3,剩下3个数字,比较两次

j=4时,第五轮比较,6-4=2,i<2,剩下2个数字,比较1次

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值