题目描述
有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。
输入描述:
第一行输入一个整数(0≤N≤50)。

第二行输入N个升序排列的整数,输入用空格分隔的N个整数。

第三行输入想要进行插入的一个整数。

输出描述:
输出为一行,N+1个有序排列的整数。

解题思路
插入到最后,然后通过sort排序再输出。

代码

#include<iostream>
#include <algorithm>//包含算法的头文件,要使用sort排序函数,必须包含

using namespace std;

int main() {
    int  n, i;
    cin >> n;//输入n
    int a[n+2];//设置数组长度大于要输入的个数,放置越界
    for (i = 0; i < n; i++) {
        cin >> a[i];
    }
    cin >> a[n];//插入到数组的最后
    sort(a, a + n + 1);//将数组重新排序,升序
    for (i = 0; i < n + 1; i++) {
        cout << a[i]<<" ";//逐个输出
    }
    cout << endl;
    return 0;
}