数据结构笔记--插入排序

插入排序就是将抽出的牌插入合适的位置。主要分为三个步骤: 1、从牌组抽出一张牌,记录牌的位置和数字。(从第二张牌开始抽,也就是下标为1,结束这3个步骤后再抽第三张牌重新进行这三个步骤,直到最后一张牌插入完成) 2、将抽出的牌和左边的牌逐个比对(在牌的左范围内从右到左比对),将满足条件的牌逐个向右挪一位,直到条件不满足为止,此时会出现一个空位。 3、将牌插入到空位上。 代码实现如下

template<class T>
void InsertSort(T arr[],N){
int p;int i;T temp;
for(p=1;p<N;p++){
    temp=arr[p];//1、抽牌
	for(i=p;i>0&&arr[i-1]>tmp;i--)
    {
    	arr[i]=arr[i-1];//2、挪牌
    }
  arr[i]=tmp;//3、插牌
}
}


全部评论

相关推荐

只写bug的程序媛:人家说一本以上,不是及以上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务