用了冒泡法做了一道题、题目是要求输入四个数、然后从小到大输出。

2022-09-12 05:53

2个回答
外循环控制比较次数,内循环控制值的交换,还有什么不懂的你细说下我再给你解释,内外循环作用就是我说的那样
冒泡排序,就是对一组数进行逐趟排序的方法,具体分为升序和降序。

以升序为例。

每一趟的任务,就是从一组数的第一个数开始,依次比较相邻的两个数的大小。既然是升序,那么比较后,如果前者大于后者,那么两者交换位置。就这样依次地比下去。

这样的话,第一趟就把最大的数排到了最后。

而每再比较一趟的时候,都排除已经生成的结果,比如第二趟,不会再比较最后一个数(它已经是最大的了,当然如果比较也没问题,浪费时间而已);第三趟,不会再比较最后两个数。。。

每一趟都把最大的数排到当前范围的末尾。

这样循环下去,每一趟都会把当前范围内最大的数扔到后面去。排序就完成了。

举个升序排序的例子:
对于{ 10,5,3,11,9 }这组数,
第一趟,10与5比较,10 比5大,所以互换位置(5,10,3,11,9),10和3比较,10>3,所以互换位置(5,3,10,11,9),10与11比较,不用互换位置;11与9比较,互换位置(5,3,10,9,11),第一趟结束;

第二趟,由于11已经是最大的,那么只剩下{5,3,10,9};5>3,所以互换位置(3,5,10,9);5<10,不用互换位置;10>9,互换位置(3,5,9,10),第二趟结束。

第三趟,只剩下{3,5,9},3<5,不用互换位置;5<9,不用互换位置,第三趟结束。

第四趟,只剩下{3,5},3<5,不用互换位置,第四趟结束。
此时由于只剩两个数,本趟已经把两个数较大的一个放到了第二的位置,所以循环到此结束。

结果就是{3,5,9,10,11}。

从这里你可以看出4个数需要走三趟就是for(i=0;i<3;i++)
for(j=0;j<5-i;j++)是没一趟需要交换的最大次数。。。这两句话你仔细体会一下。
相关问答
y³ 是怎么输入的?我只会输y^3.
1个回答2023-08-15 03:35
用数学编辑器输入
有道词典可以我输入单词它读语音出来不
1个回答2024-02-19 10:34
可以:下面截图中的小喇叭,点击一下,就可以听到发音。
串行输入输出和并行输入输出的区别解析
1个回答2023-01-11 06:00
1、计算机与外部信息交换方式有两种,一种是并行通信,另一种是串行通信。 并行通信时,数据各位同时传送。 而串行通信时,数据和控制信息是一位接位串行地传送下去。这样,虽然速度会慢一些,但传送距离比并行通...
全文
输液室时,输液管进入气泡会要人命吗?
1个回答2023-01-15 02:35
一般来说是不会要人命的,但是很有可能会造成血液流通问题。
电脑版有哪些输入法语音输入手写输入都可以输入繁体字?
1个回答2022-12-02 03:17
你可以用搜狗输入法,那个可以切换繁体简体的。
带小狗的输入法是什么输入法
1个回答2022-10-01 13:18
应该是搜狗输入法,,不过加了个性设置吧。
excel中输入2分之l怎么输入
3个回答2023-08-12 17:55
先输入0,再输入1个空格,再输入分子1,再输入/,最后输入分母2,这样就可以了。
输入英文最快的输入法是?
1个回答2022-12-18 00:55
不用选择输入法,直接按照外国人的那种方式打字,前提你手法正确
声卡输入和线路输入哪个好
1个回答2023-10-20 05:16
声卡输入。 声卡提供adda转换。声卡上有模拟输出和输入。如果你想输出声音有历局芹俩个肢毕办法,一个是接pc通过数字转模拟,或者外接你的声学乐器。 3个接口,一个是声音输出(箭头朝外),一个是麦克风(...
全文
热门问答