c语言冒泡排序_C语言——如何对冒泡排序法施行有效记忆?

冒泡排序法在C语言课程中是一个很重要的算法。要熟练掌握冒泡排序法,首先要有深刻的理解,同时也要准确地记住这个算法对应的代码,这样才能快速、准确地运用冒泡排序法写代码解决问题。那怎样有效地记忆住冒泡排序法对应的代码呢?下面跟大家分享一下我总结的口诀。

原创不易,欢迎点赞。

首先要对循环次数有深刻的理解,下面是几种情况:

1、for(i=0 ; i<k ; i++)

循环了 k 次,因为最后一次循环对应的 i 值为 k-1,而 0~k-1 有 k 个数,一个数对应一次循环,所以循环了 k 次。

2、for(i=0 ; i<=k ; i++)

循环了 k+1 次,因为最后一次循环对应的 i 值为 k,而 0~k 有 k+1 个数,一个数对应一次循环,所以循环了 k+1 次。

3、、for(i=1 ; i<k ; i++)

循环了 k-1 次,因为最后一次循环对应的 i 值为 k-1,而 1~k-1 有 k-1 个数,一个数对应一次循环,所以循环了 k-1 次。

4、for(i=1 ; i<=k ; i++)

循环了 k 次,因为最后一次循环对应的 i 值为 k,而 1~k 有 k 个数,一个数对应一次循环,所以循环了 k 次。

口诀:

两重循环,//有两个for 循环

两个变量,//有两个循环控制变量 i,j;其中j 既是循环控制变量,又

一重循环 NUM-1 次,//NUM 为数组的元素数目。

二重循环 ( NUM-第几次一重循环 ) 次,

//说明:为什么不说 NUM-i 次呢? 因为 i 的初始值为1时才是 NUM-i 次,i 的初始值为0 时就是 NUM-i-1 次了。

一重循环体放二重循环,

二重循环体放大小比较与交换。

交换内容要看 j 初值。

//说明:j 的 初值为 1时 应交换 a[j-1] 与 a[j] , j 的 值为0时交换 a[j] 与 a[j+1].总之要从第一个数 a[0] 开始比较、交换。

所以冒泡排序法有以下 2*2=4 种写法。各种写法的区别是 i 和 j的初值不同。

写法一:(i=0 , j=0)

#include

写法二:(i=1 , j=0)

#include

写法三:(i=0 , j=1)

#include

写法四:(i=1 , j=1)

#include

原创实属不易,

欢迎小伙伴们点赞!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值