如何在vector首尾同时添加元素?

如何在vector首尾同时添加元素?,第1张

v.insert(v.begin(),elem) //在v的最前面添加一个元素\x0d\x0a\x0d\x0a用例:\x0d\x0a#include \x0d\x0aint main(int argc, char* argv[])\x0d\x0a{\x0d\x0a vector v\x0d\x0a v.push_back(5)\x0d\x0a v.push_back(6)\x0d\x0a v.insert(v.begin(), 4)\x0d\x0a for (unsigned int i = 0i 回答于 2022-11-16

成员函数push_back()

如果要插在中间,只能自己做了。因为这种 *** 作是低效的,所以标准库并不直接支持。方法就是先resize(),然后把下标大于i的每个元素往后移(复制),然后把要插入的元素复制到下标i上。

另外,如果要是总要在中间插入,而使用下标又不多的话,就应该考虑用list而不是vector。

#include "stdafx.h"

#include <iostream>

#include <algorithm>

#include <functional>

#include <vector>

using namespace std

int main()

{

vector<int>data

vector<int>::iterator dataIt

for(int i = 0i <10i++)

{

data.push_back(i)//插入到vector末尾

}

cout<<"排序前的vector:"

for(dataIt = data.begin()dataIt != data.end()dataIt++)

{

cout<<*dataIt <<" "

}

cout <<endl

sort(data.begin(), data.end(), greater<int>())//降序

cout <<"排序后的vector:"

for(dataIt = data.begin()dataIt != data.end()dataIt++)

{

cout<<*dataIt <<" "

}

cout <<endl

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11747153.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存