1 插入排序使用的方法是增量方法,
首先将已有的数据排好,(玩扑克的时候等待拿牌)
然后插入新数据,进行排序, (将拿到的牌插入到正确的位置里)
最后再次形成排好的数据 等待新数据的插入 (再次等待下一轮拿牌)
2 插入排序的算法复杂度为 n的平方
1 void InsertSort(int array[], int size) 2 { 3 for (int i=1; i<size; ++i) 4 { 5 int key = array[i]; 6 int j=i-1; 7 8 while(j>=0 && array[j]>key) //当前最大值 大于 新插入的数据(key)的时候 9 { 10 array[j+1] = array[j]; //将该值向右移动一个位置 11 j--; //下标指向新的最大值,准备与key再次进行比较 12 } 13 array[j+1] = key; 14 } 15 } 16 void main() 17 { 18 int Array[10] = {4, 1, 3, 2, 16, 9, 10, 14, 8, 7}; 19 20 InsertSort(Array, 10); 21 22 for (int i=0; i<10; ++i) 23 { 24 cout << Array[i] << endl; 25 } 26 27 system("pause"); 28 }