一个序列56,20,10,25,8,23,45,7请写出冒泡排序和简单选择排序的第一轮排序(外循环一次)后的排序
时间: 2024-04-06 13:33:36 浏览: 144
冒泡排序的第一轮排序会比较第一个元素(56)和第二个元素(20),发现56比20大,因此交换它们的位置。接着比较56和10,发现56比10大,再次交换它们的位置。继续比较,直到将最大的元素56冒泡到序列的最后一个位置。第一轮排序后的序列为:
20,10,25,8,23,45,7,56
简单选择排序的第一轮排序会找到序列中最小的元素,并将它放到序列的第一个位置。在这个序列中,最小的元素是7,因此将7与第一个元素(56)交换位置,得到下面的序列:
7,20,10,25,8,23,45,56
相关问题
设待排序的关键字序列为{43, 12, 56, 70, 18, 101, 12*, 20, 56, 18*}, 试分别写出使用以下排序方法, 每趟排序结束后关键字序列的状态。 (1)冒泡排序 (2)快速排序
### 回答1:
好的,我明白了。下面是使用冒泡排序和快速排序对序列进行排序的过程:
(1) 冒泡排序:
第1趟排序后序列状态: {12, 43, 56, 18, 70, 12*, 20, 56, 18*, 101}
第2趟排序后序列状态: {12, 43, 18, 56, 12*, 20, 56, 18*, 70, 101}
第3趟排序后序列状态: {12, 18, 43, 12*, 20, 56, 18*, 56, 70, 101}
第4趟排序后序列状态: {12, 18, 12*, 20, 43, 18*, 56, 56, 70, 101}
第5趟排序后序列状态: {12, 12*, 18, 20, 18*, 43, 56, 56, 70, 101}
第6趟排序后序列状态: {12*, 12, 18, 18*, 20, 43, 56, 56, 70, 101}
序列已经排好序了。
(2) 快速排序:
第1趟排序后序列状态: {20, 12, 18, 18*, 12*, 43, 56, 56, 70, 101}
序列已经排好序了。
注意: * 代表有相同关键字的元素。
### 回答2:
冒泡排序每一趟比较相邻的两个关键字,如果前一个关键字大于后一个关键字,则交换它们的位置。一趟比较结束后,最大的关键字就会冒泡到序列的末尾。下面是每趟排序结束后关键字序列的状态:
第1趟:{12, 43, 56, 18, 70, 12*, 20, 56, 18*, 101}
第2趟:{12, 43, 18, 56, 12*, 20, 56, 18*, 70, 101}
第3趟:{12, 18, 43, 12*, 20, 56, 18*, 56, 70, 101}
第4趟:{12, 18, 12*, 20, 43, 18*, 56, 56, 70, 101}
第5趟:{12, 12*, 18, 20, 18*, 43, 56, 56, 70, 101}
第6趟:{12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101}
第7趟:{12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101}
第8趟:{12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101}
第9趟:{12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101}
第10趟:{12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101}
快速排序选取一个关键字作为枢纽元,将序列分成两个子序列,小于枢纽元的放在左边,大于枢纽元的放在右边,然后对子序列进行递归排序。下面是每趟排序结束后关键字序列的状态:
第1趟:{18*, 12, 56, 70, 18, 101, 12*, 20, 56, 43}
第2趟:{12*, 12, 18, 20, 18*, 101, 70, 56, 56, 43}
第3趟:{18*, 12, 18, 20, 12*, 101, 70, 56, 56, 43}
第4趟:{12*, 12, 18, 20, 18*, 43, 70, 56, 56, 101}
第5趟:{12*, 12, 18, 20, 18*, 43, 70, 56, 56, 101}
第6趟:{12*, 12, 18, 18*, 20, 43, 70, 56, 56, 101}
第7趟:{12*, 12, 18, 18*, 20, 43, 56, 56, 70, 101}
第8趟:{12*, 12, 18, 18*, 20, 43, 56, 56, 70, 101}
第9趟:{12*, 12, 18, 18*, 20, 43, 56, 56, 70, 101}
第10趟:{12*, 12, 18, 18*, 20, 43, 56, 56, 70, 101}
### 回答3:
(1) 冒泡排序:
第一趟排序:
43, 12, 56, 70, 18, 101, 12*, 20, 56, 18* (比较12和43,交换位置)
12, 43, 56, 70, 18, 101, 12*, 20, 56, 18* (比较43和56,不交换位置)
12, 43, 56, 70, 18, 101, 12*, 20, 56, 18* (比较56和70,不交换位置)
12, 43, 56, 70, 18, 101, 12*, 20, 56, 18* (比较70和18,交换位置)
12, 43, 56, 18, 70, 101, 12*, 20, 56, 18* (比较70和101,不交换位置)
12, 43, 56, 18, 70, 101, 12*, 20, 56, 18* (比较101和12*,交换位置)
12, 43, 56, 18, 70, 12*, 101, 20, 56, 18* (比较101和20,交换位置)
12, 43, 56, 18, 70, 12*, 20, 101, 56, 18* (比较101和56,交换位置)
12, 43, 56, 18, 70, 12*, 20, 56, 101, 18* (比较101和18*,不交换位置)
第二趟排序:
12, 43, 56, 18, 70, 12*, 20, 56, 56, 18*
12, 43, 18, 56, 70, 12*, 20, 56, 56, 18*
12, 43, 18, 56, 70, 12*, 20, 56, 56, 18*
12, 43, 18, 56, 70, 12*, 20, 56, 56, 18*
12, 43, 18, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
第三趟排序:
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
12, 18, 43, 56, 70, 12*, 20, 56, 56, 18*
(2) 快速排序:
第一次划分:
18, 12, 18*, 20, 43, 56, 70, 101, 12*, 56
第二次划分:
12, 18*, 18, 20, 43, 56, 70, 101, 12*, 56
第三次划分:
12, 12*, 18, 18*, 43, 56, 70, 101, 20, 56
第四次划分:
12, 12*, 18, 18*, 20, 43, 56, 70, 56, 101
第五次划分:
12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101
第六次划分:
12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101
最终排序结果为:12, 12*, 18, 18*, 20, 43, 56, 56, 70, 101
阅读全文