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