插入元素排队
问题描述:
已知整数组a中的非零元素已按由小到大顺序排列,以下程序的功能是每输入一个非零整数,便将该整数插入数组a中,然后将数组a中的元素升序输出,每两个元素之间以空格隔开。(注意:考虑边界数据)
输入
输入数据有若干行,第一行输入一个正整数k,表示k组输入测试数据,每组测试数据包含2行,第一行随机输入n(1≤n≤10000)个int非零数据的升序序列,第二行输入一个待插入数m。
输出
输出数据共k行,对应k组输入测试数据的升序输出序列
难度
入门
输入示例
3
12 17 20 25 28 30
-2
12 17 20 25 28 30
55
12 17 20 25 28 30
23
输出示例
-2 12 17 20 25 28 30
12 17 20 25 28 30 55
12 17 20 23 25 28 30
c++代码:
#include
#include<stdio.h>
using namespace std;
int main() {
int k, i, j, a[1000]={}, x;
cin >> k;
while (k–) {
for (i = 0; i < 1000; i++) {
cin >> a[i];
if (getchar() == ‘\n’)
break;
} cin >> x;
for (j = 0; j <=i; j++) {
if (x > a[j])
cout <<a[j]<<" “;
else
{
cout << x << " “;
x = a[j];
}
}
if (x > a[i])
cout << x<<”\n”;
else
cout << a[i]<<"\n";
}
return 0;
}
运行结果: