返回题解分享
讨论 / 题解分享/ 帖子详情

vector插入 - 题解

/*
std::vector 的 insert 方法需要一个迭代器作为插入位置,而不是直接使用索引。
例如,arr.insert(arr.begin() + x, y) 可以在索引 x 的位置插入值 y。
你不能直接对 vector<int> 的某个元素(如 arr[x])调用 insert 方法,
因为 arr[x] 是一个 int 类型,而不是一个容器。
*/
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> arr(n);
    for ( int i = 0; i < n; i++ ) {
        cin >> arr[i];
        //cout << arr[i] << endl;
    }
    int x,y;
    cin >> x >> y;
    //确保 x 的值在合法范围内。
    //如果 x 等于 n,应该允许在 vector 的末尾插入元素。
    arr.insert(arr.begin() + x - 1, y);
    for ( size_t i = 0; i < arr.size(); i++ ) {
        //cin >> arr[i];
        cout << arr[i] << endl;
    } 
    return 0;
}
0 回复 0 转发 0 喜欢 7 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!