用冒泡法对10个整数排序。10个整数用scanf函数输入

什么叫冒泡法?

冒泡法顾名思义就是将一个数从下面浮上来,假设有5个数,21 56 87 6 9,

将第五个元素的值与第四个元素的值相比,如果第五个元素的值小于第四个元素的值,则交换着两个元素的值。
接下来,将第四个元素的值与第三个元素的值进行比较,按照类似的方式,如果发现下面元素的值小于上面元素的值,则交换着两个值。
将第三个元素的值与第二个元素的值比较,做同样的工作。
在这一轮比较结束时,最小值将到达最上面,可以说最小值已经浮到最上面
第二轮,从最底部的元素开始比较,直到第二个元素,因为第一个已经是最小,不需要再进行比较。
其实,就是一个for循环,最外面的循环控制循环的次数,需要有n-1次循环

具体的code在这里就不写了
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-11
举了例子:
一个数组:3,2,5,1,4从小到大排序
从左侧开始,逐对比较
3>2,交换3,2的位置,数组变为2,3,5,1,4
3<5,顺序不变
5>1,交换5,1的位置,数组变为2,3,1,5,4
5>4,交换5,4的位置,数组变为2,3,1,4,5
至此,数组中最大的数被放在最右侧了,接下来只要在前四个数中重复上述过程,就能把其中最大的数放在右侧第二位。
这个过程就像冒泡泡,最大的气泡冒上来,然后第二大的冒上来……。因此称为冒泡排序法。
当然,排序顺序、开始方向等都可以根据需要选择,原理相同。
相似回答