4. 算法总结
- 内层for循环是将相邻的两个元素进行比较。如果不满足左小右大的规则,就将两个元素进行交换。
- 交换相邻的元素时,使用到了临时变量tmp。
- 外层for循环,用来控制需要进行几轮比较,即比较的轮次。
(1). 初始化待排序数组[5,8,6,3,9,2,1,7];我们把上述选择排序的文字描述内容,变成对应的图片,会如下图所示:
(2). 从待排序数组中,选出最小值1,和第一个元素5进行交换,即将最小的元素放在下标0的位置上;
(3). 在剩下的无序区间的元素中,选择最小的元素2,并将最小的元素2与无序区间的第一个元素8进行交换。交换后,有序区间的元素变为2个,分别是1和2,剩余的为无序区间。
(4). 依次类推,将所有的元素通过不断选择的方式,按有序的方式放到有序区间,最终把整个数组全部排好顺序。
以上就是我们这期的全部内容啦,关于冒泡和选择排序这两种算法,大家有不明白的问题也欢迎在评论区和我们一起交流讨论!
- 冒泡排序属于交换排序算法的一种;
- 选择排序算法是原地排序算法的一种;
- 冒泡排序的核心思想是把相邻的元素进行两两比较,当一个元素大于右侧相邻的元素时,就交换它们的位置;当一个元素小于或等于右侧相邻的元素时,则保持位置不变。
- 选择排序的实现思想,就是不断地从未排序的元素中选择最大(或最小)的元素,放入到已排好序的元素集合中,直到未排序的元素为空。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |