一.插入排序
1.算法思想
升序:从左往右,如a[2]<a[1],swap(a[1],a[2]),此时前面的数组有序,依次找到a[3],a[4],a[5]的位置,直到a[n];
类比洗牌,左手的牌有序,插入一张牌,则将这张牌依次与左手的牌比较,直到找到让左手牌有序的位置
void cmp(int a[]) { for(int i=1;i<=n;i++) { int s=a[i];//抽出一张牌 int j=i-1; while(j>0&&s<a[j])//与前面的有序牌比较,找到当前牌的位置 { a[j+1]=a[j]; j--; } a[j+1]=s;//已找到位置 } }