题目描述
有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。
输入描述:
第一行输入一个整数(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;
}
京公网安备 11010502036488号