四个排序算法,一眼看懂

排序就是把一堆数从小到大排好。下面四种方法用同一组数字演示:5、1、4、2、7、3、6。

冒泡排序

相邻两个比

像把大的泡泡往右挤:每次只看旁边两个数,左边比右边大就交换。一轮下来,最大的数会到最后。

记法一直重复“比旁边,错了就换”,直到全部排好。

选择排序

先找最小

像挑队伍:先从所有数里找最小的,放到第一个位置;再从剩下的数里找最小的,放到第二个位置。

记法每一轮只确定一个位置:当前位置该放谁,就把最小的挑过来。

插入排序

像整理手牌

左边当作已经排好的牌。右边来一张新牌,就插到左边合适的位置;比它大的牌都往右挪。

记法前面保持有序,新来的数往前找位置,找到后插进去。

快速排序

先分左右

先挑一个“基准数”。比它小的放左边,比它大的放右边;左右两边再用同样的方法继续分。

记法先把一个数放到最终位置,再分别整理它左边和右边。
普通数字 正在比较 正在交换或移动 快速排序基准数 已经排好