R7-9 在有序链表中插入数据

Author Avatar
小包
发表:2024-11-03 04:24:35
修改:2024-12-12 15:42:55

给定一批严格递增排列的整型数据,给定一个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;
}

评论