R7-9 在有序链表中插入数据
给定一批严格递增排列的整型数据,给定一个x,若x不存在,则插入x,要求插入后保持有序。存在则无需任何操作。
输入格式:
输入有两行:
第一个数是n值,表示链表中有n个数据。后面有n个数,分别代表n个数据。
第二行是要插入的数。
输出格式:
输出插入后的链表数据,以空格分开。行末不能有多余的空格。
输入样例1:
在这里给出一组输入。例如:
5 1 3 6 9 11
4
输出样例1:
在这里给出相应的输出。例如:
1 3 4 6 9 11
输入样例2:
在这里给出一组输入。例如:
5 1 3 6 9 11
3
输出样例2:
在这里给出相应的输出。例如:
1 3 6 9 11
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, x;
cin >> n;
vector<int> list(n);
for (int i = 0; i < n; ++i) {
cin >> list[i];
}
cin >> x;
if (find(list.begin(), list.end(), x) == list.end()) {
list.insert(lower_bound(list.begin(), list.end(), x), x);
}
for (int i = 0; i < list.size(); ++i) {
cout << list[i] << (i < list.size() - 1 ? " " : "");
}
cout << endl;
return 0;
}