冒泡排序的思想是:第1趟,对所有记录从左到右每相邻两个记录的排序码进行比较,如果这两个记录的排序码不符合排序要求,则进行交换,第2趟对剩下的n-1个待排序记录从左到右每相邻两个记录的排序码进行比较,重复上述过程,直到在某一趟中,没有发生交换,则说明此时所有记录已经按排序要求排列完毕,算法结束。现有一组待排序码分别为:18,12,27,22,35,16,3,用冒泡算法进行升序排列,当 i = 1 时,它的冒泡排序结果是:( )。
A: 18,12,27,22,16,3,35
B: 12,18,27,22,16,3,35
C: 12,18,22,27,16,3,35
D: 12,18,27,22,3,16,35
A: 18,12,27,22,16,3,35
B: 12,18,27,22,16,3,35
C: 12,18,22,27,16,3,35
D: 12,18,27,22,3,16,35
举一反三
- 设待排序的排序码序列为{12, 2, 16, 30, 28, 10, 16*, 20, 6, 18}, 试写出使用以下排序方法每趟排序后的结果。并说明做了多少次排序码比较。快速排序.[br][/br]
- 假设待排序记录为(12, 2, 16, 30, 28, 10, 16*, 20, 6, 18),给出采用直接插入排序法进行排序, 请问第4趟做了多少次排序码比较。) (16,16*的值都为16,加个*代表后一个16) A: 1 B: 2 C: 3 D: 4
- 22 冒泡排序的方法对n个数据进行排序,第一趟排序共需要比较( )次。 A: n-1 B: 1 C: 2 D: n
- 直接插入排序的思想是:初始<br/>i = 1 时,认为文件中的第1个记录已排好序,然后,将第2个到第n个记录依次插入到已排序的记录组成的文件中。现有一组待排序码分别为:31,12,27,22,2,16,13,当 i = 5 时,它的直接插入排序结果是:( )。 A: [12, 31], 27,22,2,16,13 B: [12, 27, 31],22,2,16,13 C: [12, 22, 27,31], 2,16,13 D: [2,12, 22, 27,31],16,13
- 30个记录进行冒泡排序,使用未改进的冒泡排序,则需要()趟排序才能完成排序。 A: 29 B: 30 C: 28 D: 27