题解 | #有序序列插入一个数#

有序序列插入一个数

http://www.nowcoder.com/practice/74486aec6fe14d44b509efabf265ee66

边听歌边做题有点难受。。。

int main()
{
    int n,arr[20],i,k,temp;
    while(~scanf("%d",&n))//第一个数
    {
        for(i=0;i<n;i++)
        {
            scanf("%d",&arr[i]);//第二行
        }
        scanf("%d",&k);//第三行
        arr[n]=k;//这里采用的是从后遍历的方法,先把要加的数添加到最后
        for(i=n-1;i>=0;i--)//将i从4减到0
        {
            if(arr[i+1]<arr[i])//如果添加的数小于之前的数就交换
            {
                temp=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=temp; 
            }    
        }
        for(i=0;i<n+1;i++)//输出
            printf("%d ",arr[i]);
    }
    return 0;
}
全部评论

相关推荐

6 收藏 评论
分享
牛客网
牛客企业服务