插入排序原理类似于打牌时理牌,开始摸牌时,左手是空的,一次从桌上拿起一张牌,并将牌插入到左手一把牌中正确的位置上,为了找到这张牌,必须将这张牌与左手上的每张牌进行比较,然后插入正确的位置。插入排序每次循环相当于取一张牌,然后和已经排序好的进行比较,如果比手上的牌小,那么就交换位置,代码参考如下: /************************************************************************/ /* 插入排序 /************************************************************************/ void InsertSort(int* _array,int size) { for(int i= 1; i< size ; ++i) { int k = i; for(int j=0;j<i;++j) { if(_array[j]<_array[k]) { int t = _array[j]; _array[j] = _array[k]; _array[k]=t ; } } } } |