冒泡排序(BubbleSort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮”到数列的顶端。请填写第2~5趟的排序结果。初始序列:70956912882811第1趟排序后:70691288281195第2趟排序后:________________第3趟排序后:________________第4趟排序后:________________第5趟排序后:________________第6趟排序后:11122869708895经过第6趟后,最后6个数有序,这些数都比后面的数大,此时前面的数就1个,所以无需再排序,排序完毕。7个数使用冒泡排序,需要经过6趟比较。
举一反三
- 采用排序算法对n个元素进行排序,其排序趟数肯定为n-1趟的排序方法是( )。
- 用冒泡排序对4, 5, 6, 3, 2, 1进行从小到大排序,第三趟排序后的状态为:
- 请把{49,38,65,97,76,13,27}采用不同排序方法重新排列成递增序列,分别完成下列要求:(1)写出直接插入排序第一趟排序结果;(2)写出希尔排序(d=3)第一趟排序结果;(3)写出冒泡排序第一趟排序结果;(4)写出快速排序第一次划分(第一趟排序结果);(5)写出简单选择排序第一趟排序结果;(6)写出堆排序时构造出的初始大顶堆以及第一趟排序结果;(7)写出二路归并排序的第一趟排序结果。
- 用冒泡排序算法对n个带有键值的数据元素进行排序,排序结束后所可能历经的最少趟数为____。
- 利用冒泡排序算法对4,5,1,3,2,6进行递增排序,最少需要进行( )趟排序?假如第1趟排序后的状态为4,1,3,2,5,6,请问第二趟排序后的数据排列是( )? A: 51, 3,2,4,5,6 B: 41, 3,2,4,5,6 C: 51, 2,4,3,5,6 D: 41, 2,4,3,5,6