C++——vector插入与删除和数据存取

一. vector插入和删除

功能描述:对vector容器进行插入、删除操作
   函数原型:
 push back(ele);                                        //尾部插入元素ele
 pop_back();                                              //删除最后一个元素
 insert(const iterator pos, ele);                  //迭代器指向位置pos插入元素ele,指定位置参数是迭代器
 insert(const_iterator pos,int count,ele); //迭代器指向位置pos插入count个元素ele
 erase(const iterator pos);                         //删除迭代器指向的元素
 erase(const_iterator start,const_iterator end);//删除选代器从start到end之间的元素
 clear();                                                    //删除容器中所有元素

    vectorv1;
	//尾插
	v1.push_back(10);
	v1.push_back(20);
	v1.push_back(30);
	v1.push_back(40);
	v1.push_back(50);

	//遍历
	printVector(v1);

	//尾删
	v1.pop_back();//把50给删了
	printVector(v1);

	//插入	第一个参数是迭代器
	v1.insert(v1.begin(), 100);
	printVector(v1);
	//插入的重载版本
	v1.insert(v1.begin(), 2,1000);//插入两个1000
	printVector(v1);

	//删除 参数也是迭代器
	v1.erase(v1.begin());
	printVector(v1);

	//清空
	//v1.erase(v1.begin(), v1.end());
	v1.clear();
	printVector(v1);

总结:
  尾插 --- push_back
  尾删 --- pop_back
  插入 --- insert (位置提供的是代器)
  删除 --- erase  (位置提供的是代器)
  清空 --- clear

二.vector数据存取

功能描述:对vector中的数据的存取操作
  函数原型:
 at(iht idx)        ;//返回索引idx所指的数据
 operator[]; //返回索引idx所指的数据
 front();    //返回容器中第一个数据元素
 back();     //返回容器中最后一个数据元素

实例:

vectorv1;
    for (int i = 0; i < 10; i++)
	{
		v1.push_back(i);
	}
	
	//利用[]方式访问数组中的元素
	for (int i = 0; i < v1.size(); i++)
	{
		cout << v1[i] << " ";
	}
	cout << endl;

	//利用at的方式访问元素
	for (int i = 0; i < v1.size(); i++)
	{
		cout << v1.at(i) << " ";
	}
	cout << endl;

	//获取第一个元素
	cout << "第一个元为:" << v1.front() << endl;

	//获取最后一个元素
	cout << "最后一个元素为:" << v1.back()<

总结:
  除了用迭代器获取vector容器中元素,[]和at也可以
  front返回容器第一个元素
  back返回容器最后一个元素

仅个人看视频笔记与理解,如有误可指出谢谢

你可能感兴趣的:(c++)