嗨嗨嗨,今天讲的是冒泡排序法
下面是图片说明👇🏻
简单来讲就是 从第一个数开始与相邻的数进行比较,谁大谁就变成第二个,第二个再和第三个进行比较,以此类推,一趟结束🔚后,最后那个数就是最大的数啦。
🍞问题:n个数一趟要比较几次?n个数需要比较几趟?
---------------------------答案分界线-----------------------------
n个数一趟比较n-1次,n个数需要比较n-1次
5个数{12,8,4,9,5}
-----------------------------第一趟----------------------------------
第一次{12,8,4,9,5}12与8比较变成{8,12,4,9,5}
第二次{8,12,4,9,5}12与4比较变成{8,4,12,9,5}
第三次{8,4,12,9,5}12与9比较变成{8,4,9,12,5}
第四次{8,4,9,12,5}12与5比较变成{8,4,9,5,12}
--------------------------------------------------------------------------
以此类推,第二趟后变成{4,8,5,9,12}
第三趟变成{4,5,8,9,12}
哎,这时候就有人要问了
这样的话第四趟不就不用比了吗?答案显而易见啊?
Nonono,这个只是一个意外,我们人工手写的一个美丽的逻辑意外💋。计算机可不知道,它会要死磕到底的!!
所以它还要比第四趟{4,5,8,9,12}
好了,这时候它就没有疑问了,答案成立~
理论结束🔚实践开始👀
方法一:while结构
方法二:for结构
运行结果👇🏻
⚠️⚠️⚠️几个要注意的点
一,输入一个数就要打一次回车号再输入下一个数,要不然。。。
🤣🤣🤣就什么都没有了
二,要注意i和j的初值!计数是从0开始计数的!所以范围要么从0到9,要么从1到10!
要不然
什么事情都不会发生😂😂😂
其实改成0到10好像也没有影响😏
三,while结构循环前赋初值!!不然会乱码啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊真的啊啊啊啊啊啊啊啊!
现在知道这件事情有多重要了吧。。。
忘记截图了
PS:我终于回电脑🖥️截屏了,快夸我🤣
今日分享结束🔚