几种排序总结
冒泡排序
把最大数沉到最低
选择排序
0到n之间 找一个最小的数 排到0位置 ,即: 0到n 位置上的数中最小的数,和0位置上的数 交换
1到n之间 找一个最小的数 排到1位置 ,即:1到n 位置上的数中 最小的数 和1位置上的数 交换
1到n之间 找一个最小的数 排到2位置
…
一直到n-1为位置与n位置
插入排序(重点,很有用)
像扑克牌整牌
下面举例说明:
一串数字5 3 4 0 6
先把0 1 位置上的数 排好序,得到:
之后排1 -2位置 上的,
得到:
这时数字 ‘4’来到了1位置,它还要继续和0位置的数“3”进行比较,发现4大于3,所以不用换了,已经固定。
这时0-2位置上的数已经排好了。
继续换这俩:即3位置和2位置
得到:
3 4 0 5 6
即,‘0’来到2位置,接下来要继续与前面的数进行比较
此时,0到3位置排好!
插入排序总结:
当前要给i排序,但是0到i-1 已经排好序了
然后要一个个比,看i能插到哪个位置
具体来讲:
从0位置 一直往前看,插入哪个位置(即自己和自己比较);
从1位置 一直往前看,插入哪个位置;(0,1位置比较)
从2位置 一直往前看,插入哪个位置;
从3位置 一直往前看,插入哪个位置;
…
%插入排序代码解析