vector结构体可以用insert函数吗

P1160 队列安排

1
by _zzzzzzy_ @ 2023-10-23 20:41:25


@[_zzzzzzy_](/user/715244) 怎么用
by 呆呆的她啊 @ 2023-10-23 20:49:12


您好, `vector` 含有成员函数 `insert` ,所以 `vector` 可以调用 `insert` 方法。这和 `vector` 内的元素类型无关。
by only_a_speaker @ 2023-10-23 20:49:56


@[only_a_speaker](/user/1154375) /(ㄒoㄒ)/~~可是代码实现不太会 就是格式上面不太知道怎么书写
by 呆呆的她啊 @ 2023-10-23 20:51:16


@[呆呆的她啊](/user/226167) 一个对象调用成员方法的语法为:对象+点+方法名+括号内传参。 例如,如果我们不使用 `push_back` 而是使用 `insert` 方法在 `vector<int>` 内插入元素,我们可以这样写: ```cpp vector<int>a; a.insert(a.end(),456); a.insert(a.begin(),123); a.insert(a.end(),789); ``` 此时我们就可以获得一个装载 `{123,456,789}` 的整数数组。
by only_a_speaker @ 2023-10-23 20:54:34


```c struct node { int n; string s; }t1,t2; vector<node>vec; ```用ti读取后 push进去 但是我要删除了该怎么用insert呢
by 呆呆的她啊 @ 2023-10-23 20:59:46


@[only_a_speaker](/user/1154375) 好兄弟
by 呆呆的她啊 @ 2023-10-23 21:05:47


@[呆呆的她啊](/user/226167) 您好,我没懂你说“要删除了”是什么意思? 如果你想加入元素,用 `insert` 方法;如果你想删除元素,用 `erase` 方法。
by only_a_speaker @ 2023-10-23 22:37:40


@[only_a_speaker](/user/1154375) 不好意思 我这里是说插入不是删除
by 呆呆的她啊 @ 2023-10-23 22:55:05


@[呆呆的她啊](/user/226167) ``` struct node { int n; string s; }t1,t2; vector<node>vec; cin >> t1.n >> t1.s; vec.insert(vec.begin(), t1); vec.insert(vec.begin(), t1); cin >> t2.n >> t2.s; vec.insert(vec.begin(), t2); ``` 这样就在数组中插入了两个 `t1` 和一个 `t2` ,此时数组的值为:`{t2, t1, t1}` 。 如果想在指定位置做插入 ``` vector<int>a{12, 34, 56, 78}; a.insert(a.begin() + 3, 99); // 此时 a 中元素为 {12, 34, 56, 99, 78} ```
by only_a_speaker @ 2023-10-23 23:29:23


| 下一页