发布网友 发布时间:2022-04-24 09:57
共2个回答
热心网友 时间:2022-06-13 03:52
冒
泡
法:
目的:按要求从大到小或从小到大排序。
基本思路:对尚未排序的各元素从头到尾依次依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。
【可以看出如果有N个元素,那么一共要进行n-1轮比较,第I轮要进行j=n-i次比较。】
(如:有5个元素,则要进行5-1轮比较。第3轮则要进行5-3次比较)
例如
利用冒泡法排序将7,4,3,12,8,1从小到大排序,则第三次的结果是_______?
解答:
一趟之后,12被排在最后一位
结果是4
3
7
8
1
12
两次之后,结果是
3
4
7
1
8
12
三次之后,结果是
3
4
1
7
8
12
又如
设原来的数组
2
5
3
1
我们现在要从小到大排序
第一轮开始比
2和5比不动
成
2
5
3
1
5和3比交换
成
2
3
5
1
5和1比交换
成
2
3
1
5
第二轮
2和3比不动
成
2
3
1
5
3和1比交换
成
2
1
3
5
第三轮
2和1比交换
成
1
2
3
5
这样排序就完成了
。因为是一轮一轮的比到所有的数,
就像冒泡泡一样,所以叫冒泡法
热心网友 时间:2022-06-13 05:10
冒泡排序(BubbleSort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
冒泡排序算法的运作如下:(从后往前)
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。