添加元素:

方法一:

insert() 插入元素到Vector中

  iterator insert( iterator loc, const TYPE &val );                       //在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器
void insert( iterator loc, size_type num, const TYPE &val ); //在指定位置loc前插入num个值为val的元素
void insert( iterator loc, input_iterator start, input_iterator end ); //在指定位置loc前插入区间[start, end)的所有元素

方法二:

push_back() 在Vector最后添加一个元素(参数为要插入的值)

删除元素:

方法一:

clear() 清空所有元素

empty() 判断Vector是否为空(返回true时为空)

方法二:

erase() 删除指定元素 (可以用指针来代替迭代器)

  iterator erase( iterator loc );                    //要删除元素的迭代器
iterator erase( iterator start, iterator end ); //要删除的第一个元素的迭代器,要删除的第二个元素的迭代器

方法三:

pop_back() 移除最后一个元素

方法四:

可以采用通用算法remove()来删除vector容器中的元素, 不同的是,采用remove 一般情况下不会改变容器的大小,而pop_back()与erase()等成员函数会改变容器的大小。

例如:

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <list>
using namespace std; void PrintInt( const int &nData)
{
cout<<nData<<endl;
} int _tmain( int argc, _TCHAR* argv[])
{
vector< int > vecInt;
for ( int i=; i<;++i)
{
vecInt.push_back(i);
}
cout<< " 向量中的内容为:" <<endl;
for_each(vecInt.begin(),vecInt.end(),PrintInt);
cout<< "vector contains " <<vecInt.size()<< " elements" <<endl;
vecInt.pop_back(); // 删除最后一个元素
cout<< " 删除最后一个元素后,vector contains " <<vecInt.size()<< " elements" <<endl;
vector< int >::iterator k = vecInt.begin();
vecInt.erase(k); // 删除第一个元素
//vecInt.erase(k); // 迭代器k 已经失效,会出错
cout<< " 删除第一个元素后,vector contains " <<vecInt.size()<< " elements" <<endl;
//vecInt.erase(vecInt.begin(),vecInt.end()); // 删除所有元素
//cout<<" 删除所有元素后,vector contains "<<vecInt.size()<<"elements"<<endl; // 输出为0
vector< int >::iterator vecNewEnd =remove(vecInt.begin(),vecInt.end(),); // 删除元素
cout<< " 删除元素后,vector contains " <<vecInt.size()<< " elements" <<endl;
cout<< " 向量开始到新结束为止的元素:" <<endl;
for_each(vecInt.begin(),vecNewEnd,PrintInt);
cout<< " 向量中的元素:" <<endl;
for_each(vecInt.begin(),vecInt.end(),PrintInt);
return ;
}

结果详见:http://www.tuicool.com/articles/eMJ3qe

vector容器中添加和删除元素的更多相关文章

  1. JavaScript向select下拉框中添加和删除元素

    JavaScript向select下拉框中添加和删除元素 1.说明 a   利用append()方法向下拉框中添加元素 b   利用remove()方法移除下拉框中最后一个元素 2.设计源码 < ...

  2. Arrays.asList () 不可添加或删除元素的原因

    Java中奖数组转换为List<T>容器有一个很方便的方法 Arrays.asList(T ... a),我通过此方法给容器进行了赋值操作,接着对其进行 添加元素,却发现会抛出一个(jav ...

  3. spring:如何用代码动态向容器中添加或移除Bean ?

    先来看一张类图: 有一个业务接口IFoo,提供了二个实现类:FooA及FooB,默认情况下,FooA使用@Component由Spring自动装配,如果出于某种原因,在运行时需要将IFoo的实现,则F ...

  4. STL 查找vector容器中的指定对象:find()与find_if()算法

    1 从vector容器中查找指定对象:find()算法 STL的通用算法find()和find_if()可以查找指定对象,参数1,即首iterator指着开始的位置,参数2,即次iterator指着停 ...

  5. 对List遍历过程中添加和删除的思考

    对List遍历过程中添加和删除的思考 平时开发过程中,不少开发者都遇到过一个问题:在遍历集合的的过程中,进行add或者remove操作的时候,会出现2类错误,包括:java.util.Concurre ...

  6. js进阶 9-11 select选项框如何动态添加和删除元素

    js进阶 9-11 select选项框如何动态添加和删除元素 一.总结 一句话总结: 二.js进阶 9-11 select选项框如何动态添加和删除元素 1.案例说明 2.相关知识 Select 下拉列 ...

  7. javascript数组在指定位置添加和删除元素

    在JavaScript中,Array对象提供了一个强大的splice()方法,利用这个方法可以达到在数组的指定位置添加和删除元素的目的. 指定位置删除元素 要在指定位置删除元素,可以使用splice( ...

  8. 顺序表添加与删除元素以及 php实现顺序表实例

    对顺序表的操作,添加与删除元素. 增加元素 如下图所示  对顺序列表 Li [1328,693,2529,254]  添加一个元素 111 ,有三种方式: a)尾部端插入元素,时间复杂度O(1);  ...

  9. python3_列表(修改,添加和删除元素操作)

    前言:列表的定义:列表是由一系列按特定顺序排列的元素组成.即列表是一个有序集合. 1.修改列表元素 由前言知列表是一个有序集合,因此在修改列表元素时我们需指定列表名和要修改的元素的索引,再指定该元素的 ...

随机推荐

  1. UIButton 左对齐 省略号最右边

    //左对齐 [_btn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; //省略号靠右侧 _btn.ti ...

  2. 国家气象局提供的天气预报接口(完整Json接口)

    国家气象局提供的天气预报接口主要有三个,分别是:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/da ...

  3. 根据HTML语义化编码

    语义化标签——http://www.html5jscss.com/html5-semantics-section.html 写HTML代码时应注意什么? 尽可能少的使用无语义的标签div和span: ...

  4. Java习题附答案

    第一章练习题(Java入门) 1.下列哪项不是JDK所包含的内容?(选一项)C 红色代表正确答案 A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 2 ...

  5. html制作简单框架网页 实现自己的音乐驿站 操作步骤及源文件下载 (播放功能限mp3文件)

    使用HTML语言来设计制作 Hyper Text Markup Language 超文本标记语言 这门语言的特点就是标记,就是把所有的命令单词用<>标记起来,就可以发挥作用 还有一个特点, ...

  6. IE(IE6/IE7/IE8)支持HTML5标签--20150216

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  7. 【二分 贪心】bzoj3477: [Usaco2014 Mar]Sabotage

    科学二分姿势 Description Farmer John's arch-nemesis, Farmer Paul, has decided to sabotage Farmer John's mi ...

  8. ZJOI2018游记Round1

    广告 ZJOI2018Round2游记 All Falls Down 非常感谢学弟学妹们捧场游记虽然这是一篇假游记 ZJOI Round1今天正式落下帷幕.在这过去的三天里遇到了很多朋友,见识了很多有 ...

  9. CVS在update时状态status

    cvs update -Ad 时,terminal 会display如下: P xx.v P xx.c ? xx.v ? xx.c A xx.v M xx.v U xx.v C xx.v 第一个字母: ...

  10. python--内置常用模块

    一 . 简单的了解模块 你写的每一个py文件都是一个模块. 还有一些我们一直在使用的模块. buildins  内置模块. print, input. random  主要是和随机相关的的内容 ran ...