用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月 忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

插入排序

2018-01-24 作者:芙蓉妹妹 举报

[c++]代码库

#include<bits/stdc++.h>
using namespace std;
void InsertionSort(int a[],int n)
{
    for(int i=1;i<n;i++)// 类似抓扑克牌排序
    {
        int now=a[i];// 右手抓到一张扑克牌, 拿在左手上的牌总是排序好的
        int j=i-1;
        for(;j>=0&&a[j]>now ;j--)// 将抓到的牌与手牌从右向左进行比较
            a[j+1]=a[j];// 如果该手牌比抓到的牌大,就将其右移
        a[j+1]=now;// 直到该手牌比抓到的牌小(或二者相等),将抓到的牌插入到该手牌右边(相等元素的相对次序未变,所以插入排序是稳定的)
    }
}
int main ()
{
    int N , i;
    cin>>N;
    int a[N];
    for(i=0; i<N; i++)
        cin>>a[i];
    InsertionSort(a,N);
    cout<<a[0];
    for(i=1; i<N; i++)
        cout<<" "<<a[i];
    return 0;
}


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。