vector插入和删除

一、vector插入和删除

1、功能描述:对vector容器进行插入和删除操作

2、函数原型:
①push_back(ele); //尾部插入元素ele

②pop_back(); //删除最后一个元素

③insert(const_iterator pos,ele); //迭代器指向位置pop插入元素ele

④insert(const_iterator pos,int count,ele); //迭代器指向位置pop插入count个元素ele

⑤erase(const_iterator pos); //删除迭代器指向的元素

⑥erase(const_iterator start,const_iterator end); //删除迭代器从start到end之间的元素

⑦clear(); //删除容器中所有的元素

二、示例

代码如下(示例):

#include<iostream>
#include<vector>
using namespace std;
void printVector(vector<int>& v)
{
	for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
}
//vector插入和删除
void test01()
{
	vector<int>v1;
	//尾插
	v1.push_back(10);
	v1.push_back(20);
	v1.push_back(30);
	v1.push_back(40);
	v1.push_back(50);
	//遍历
	cout << "遍历:" << endl;
	printVector(v1);
	//尾删
	v1.pop_back();
	cout << "删除最后一个元素:" << endl;
	printVector(v1);
	//插入  第一个参数是迭代器
	v1.insert(v1.begin(), 100);
	cout << "在开头插入100:" << endl;
	printVector(v1);
	//在开头插入两个1000
	v1.insert(v1.begin(), 2, 1000);
	cout << "在开头插入2个1000:" << endl;
	printVector(v1);
	//删除  参数也是迭代器
	v1.erase(v1.begin());
	cout << "删除开头第一个数:" << endl;
	printVector(v1);
	//删除所有元素  相当于清空
	v1.erase(v1.begin(), v1.end());
	//v1.clear();//清空
	cout << "清空:" << endl;
	printVector(v1);
}
int main()
{
	test01();
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

三、总结

对文章进行总结:
1、尾插—push_back
2、尾删—pop_back
3、插入—insert(位置迭代器)
4、删除—erase(位置迭代器)
5、清空—clear

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中,可以使用vector的insert函数在vector的头部插入元素。插入元素到vector头部的方法是使用insert函数,并将其位置参数设置为begin(),并在val参数中指定要插入的值。以下是一个示例代码: ``` vector<int> c; c.insert(c.begin(), val); ``` 其中,c是vector对象,val是要插入的值。通过将位置参数设置为begin(),可以将元素插入vector的头部。请确保val的类型与vector中元素的类型相匹配。 引用提供了一个关于vector插入元素的示例代码,通过insert函数和位置参数,我们可以在任意位置插入元素。而引用提到,vector没有直接提供头插的接口,但可以使用insert函数来实现。由于头插头删的时间复杂度较高,如果经常需要头插头删操作,建议使用list而不是vector。 请注意,使用insert函数插入元素可能会导致迭代器失效。因此,在对vector进行插入操作后,需要小心处理迭代器的有效性,以避免访问失效的迭代器。 希望这个回答能够解决你的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【C++vector添加元素](https://blog.csdn.net/weixin_46308081/article/details/118607011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [vector常用接口](https://blog.csdn.net/ych9527/article/details/115366356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值