插入排序,开始一张牌也没有,从第一张开始抓

插入排序。许多玩牌的人是以这样的方式来对他们手中的牌进行排序的:设手中原有3张牌已排好序,抓1张新牌,若这张新牌的次序在原来的第2张牌之后,第3张牌之前,那么就把这张新牌放在第3张牌的位置上,原来的第3张改为第4张, 然后再抓新牌。按着这个算法,编写一个排序程序。
    注:开始一张牌也没有,从第一张牌开始抓起。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

这就是一个排序插入啊。与本来有几张牌没啥关系啊

void insert(int a[],int n,int b)
{
    bool t = false;
    for(int i=0;i<n;i++)
    {
        if(b < a[i])
        {
            for(int j=n;j>i;j--)
                a[j] = a[j-1];
            a[i] = b;
            t = true;
            break;
        }
    }
    if(!t)
        a[n] = b;
}
void main()
{
    int a[54];
    for(int i=1;i<=54;i++)
    {
        int n;
        scanf("%d",&n);
        insert(a,i-1,n);
    }
}