思路:第一个可以真实的去构建数组放入,第二个是虚假放入,判断该放入的位置,直接输出。
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
while (cin >> n >> m) {
if (n == 0 && m == 0)
break;
vector<int> ans(101);
int i;
for (i = 0; i < n; i++) {
cin >> ans[i];
}
for (i = n; i && ans[i - 1] > m; i--) {
ans[i] = ans[i - 1];
}
ans[i] = m;
// 输出程序
cout << ans[0];
for (int i = 1; i < n + 1; i++) {
cout << " " << ans[i];
}
cout << endl;
}
return 0;
}