算法请针对实例2.6.1.4.5.3.2分别用选择排序和冒泡排序进行排序,并写出详细过程
时间: 2024-01-24 08:18:21 浏览: 67
选择排序和冒泡排序
实例2.6.1.4.5.3.2为:[5, 3, 9, 1, 7, 2, 8, 4, 6]
首先,我们来看选择排序的过程:
1. 第一轮排序,从第一个元素开始,依次与后面的元素比较,找到最小值,将其与第一个元素交换位置。
排序后的序列为:[1, 3, 9, 5, 7, 2, 8, 4, 6]
2. 第二轮排序,从第二个元素开始,依次与后面的元素比较,找到最小值,将其与第二个元素交换位置。
排序后的序列为:[1, 2, 9, 5, 7, 3, 8, 4, 6]
3. 第三轮排序,从第三个元素开始,依次与后面的元素比较,找到最小值,将其与第三个元素交换位置。
排序后的序列为:[1, 2, 3, 5, 7, 9, 8, 4, 6]
4. 第四轮排序,从第四个元素开始,依次与后面的元素比较,找到最小值,将其与第四个元素交换位置。
排序后的序列为:[1, 2, 3, 4, 7, 9, 8, 5, 6]
5. 第五轮排序,从第五个元素开始,依次与后面的元素比较,找到最小值,将其与第五个元素交换位置。
排序后的序列为:[1, 2, 3, 4, 5, 9, 8, 7, 6]
6. 第六轮排序,从第六个元素开始,依次与后面的元素比较,找到最小值,将其与第六个元素交换位置。
排序后的序列为:[1, 2, 3, 4, 5, 6, 8, 7, 9]
7. 第七轮排序,从第七个元素开始,依次与后面的元素比较,找到最小值,将其与第七个元素交换位置。
排序后的序列为:[1, 2, 3, 4, 5, 6, 7, 8, 9]
最终结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9]
接下来,我们来看冒泡排序的过程:
1. 第一轮排序,从第一个元素开始,依次与后面的元素比较,如果后面的元素比当前元素小,则交换位置。
排序后的序列为:[3, 5, 1, 7, 2, 8, 4, 6, 9]
2. 第二轮排序,从第一个元素开始,依次与后面的元素比较,如果后面的元素比当前元素小,则交换位置。
排序后的序列为:[3, 1, 5, 2, 7, 4, 6, 8, 9]
3. 第三轮排序,从第一个元素开始,依次与后面的元素比较,如果后面的元素比当前元素小,则交换位置。
排序后的序列为:[1, 3, 2, 5, 4, 6, 7, 8, 9]
4. 第四轮排序,从第一个元素开始,依次与后面的元素比较,如果后面的元素比当前元素小,则交换位置。
排序后的序列为:[1, 2, 3, 4, 5, 6, 7, 8, 9]
最终结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9]
可以看到,选择排序和冒泡排序的时间复杂度都是 O(n^2),但是选择排序的比较次数要比冒泡排序少,因此选择排序的效率要比冒泡排序高。
阅读全文