大家好,欢迎来到IT知识分享网。
冒泡排序是什么?先看看书上的定义
如果是新手,一开始看是很懵的,下面看代码和解释。
没错,这段代码没有注释,要是注释有用的话还要人讲干嘛?并且也不用函数调用什么的,只是讲冒泡的一个思维。
首先头文件会写吧?主函数会写吧?数组会定义并且会写9到0吧?
这个程序的目的是从小到大排序知道吧?
先从两个for循环开始讲(两个for的时候内层的for先执行完,外层的for才会加+1,怕有些人不知道)
第一个for定义了一个i用来控制循环的趟数,一共是9趟。说人话就是:一共是10个数,你要从小到大排序,那就把最小的数一个个扔在前面,扔9次不就能排好10个数了?
第二个for定义了一个j,j=9表示从最后一个数开始,因为数组的下标是从0开始的,所以9就表示第10个数了,而我们这个代码的比较也是从后面开始的。那么j为什么要大于i?因为内层for每次循环完(这里的循环完表示跳出内层循环,外层循环+1)不就把一个最小的数放在前面了吗?对于排好的数那就没必要每次再比较一次吧?所以就随着i每次的增加,比较的数就相应的减少
接下来就到了if判断,这里判断的是后一个数是否比前一个数小,如果小的话就交换,因为是从小到大排序。交换的话应该都会吧?其实顺序无所谓,只要最后完成交换就行了,定义一个变量用来存放数组的元素,然后其中一个数组赋值给另外一个数组,再把变量赋值给没有赋值过的数组。
最后再把排序好的打印出来就行。
总结一下吧,冒泡排序,也就是每次比较相邻两个数的大小,你可以根据自己是从大到小排序还是从小到大排序来判断,当然也可以从头开始比较,也可以从后面开始来比较,看个人,再玩得花点的也可以用函数传参,我这里只是讲冒泡的一个思路。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15600.html