蓝若曦 2021-11-20 15:33 采纳率: 100%
浏览 210
已结题

在有序数列中插入一个数,保持数列依然有序

在有序数列中插入一个数,保持数列依然有序。程序图,编码

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-11-20 16:46
    关注

    升序序列,供参考:

    #include<stdio.h>
    const int N = 1000;
    int main()
    {
        int n, m, i;
        int a[N];
        while (scanf("%d%d", &m, &n) && (m != 0 && n != 0))//m:待插入的数 ,n:有序数列的个数,结束输入:0 0
        {
            for (i = 0; i < n; i++)  // 输入n个有序数列元素
                scanf("%d", &a[i]);
    
            if (m > a[n - 1]){   // 插入操作
                a[n] = m;
            }
            else{
                for (i = n; m < a[i - 1] && i > 0; i--) {
                    a[i] = a[i - 1];
                }
                a[i] = m;
            }
    
            for (i = 0; i < n + 1; i++)//输出 插入数后的有序数列
                printf("%4d", a[i]);
            printf("\n");
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月20日