顺序容器的基本操作

原创 2012年03月22日 18:08:43
顺序容器的基本操作
操作名称 函数表达式 说明 vector  list     deque
构造函数

C<T> c;

C是容器类型名,如vector,

T是元素类型,如int,string。

创建一个名为c的空容器。

yes yes yes
构造函数 C c(c2);

创建容器c,c中的元素是c2中所有元素的副本。

yes yes yes
构造函数 C c(b,e); 创建c,其元素师迭代器b和e标示的范围内元素的副本。 yes yes yes
构造函数 C c(n,t); 用n个值为t的元素创建容器c。 yes yes yes
构造函数 C c(n); 创建有n个值初始化元素的容器c。 yes yes yes
添加元素 c.push_back(t)

在容器c的尾部添加值为t的元素。

返回void类型。

yes yes yes
添加元素 c.push_front(t)

在容器c的前端添加值为t的元素。

返回void类型。

no yes yes
添加元素 c.insert(p,t)

在迭代器p所指向的元素前面插入值为t的新元素。

返回指向新添加元素的迭代器。

yes yes yes
添加元素 c.insert(p,n,t)

在迭代器p所指向的元素前面插入n个值为t的新元素。

返回void类型。

yes yes yes
添加元素 c.insert(p,b,e)

在迭代器p所指向的元素前面插入由迭代器b和e标记的范围内的元素。

返回void类型。

yes yes yes
容器大小 c.size()

返回容器c中的元素个数。

返回类型为c::size_type

yes yes yes
容器大小 c.max_size()

返回容器c可容纳的最多元素个数。

返回类型为c::size_type

yes yes yes
容器大小 c.empty() 返回标记容器大小是否为0的布尔值。 yes yes yes
容器大小 c.resize(n)

调整容器c的长度大小,使其能容纳n个元素。

如果n<c.size(),则删除多出来的元素;

否则,添加采用值初始化的新元素。

yes yes yes
容器大小 c.resize(n,t)

调整容器的大小,使其能容纳n个元素。

所有新添加的元素值都为t。

yes yes yes
访问元素 c.back()

返回容器c的最后一个元素的引用。

如果c为空,则该操作未定义。

yes yes yes
访问元素 c,front()

返回容器c的第一个元素的引用。

如果c为空,则该操作未定义。

yes yes yes
访问元素 c[n]

返回下标为n的元素的引用。

如果n<0 或者n>=c.size(),则该操作未定义。

yes no yes
访问元素 c.at[n]

返回下标为n的元素的引用。

如果下标越界,则该操作未定义。

yes no yes
删除元素 c.erase(p)

删除迭代器p所指向的元素

返回一个迭代器,指向被删除元素后面的元素。

如果p是指向c的最后一个元素,则返回的迭代器为c.end()。

如果p=c.end(),则返回的迭代器未定义。

yes yes yes
删除元素 c.erase(b,e)

删除迭代器b和e所标记范围内的所有元素。

返回跟上述一致。

yes yes yes
删除元素 c.clear()

删除容器c内的所有元素。

返回void

yes yes yes
删除元素 c.pop_back()

删除容器c的最后一个元素。

返回void。

如果c为空容器,则该函数未定义。

yes yes yes
删除元素 c.pop_front()

删除容器c的第一个元素。

返回void。

如果c为空容器,则该函数未定义。

no yes yes
赋值操作 c1 = c2

删除容器c1的所有元素,然后将c2的元素复制给c1。

yes yes yes
赋值操作 c1.swap(c2)

交换内容:调用完该函数之后,c1中存放的是c2原来的元素,

                    c2中存放的则是c1原来的元素。

yes yes yes
赋值操作 c.assign(b,e)

重新设置c的元素:将迭代器b和e标记的范围内所有的元素复制到c中。

注意:assign函数会首先删除c中的所有元素,所以迭代器b和e不能是指向c中的。

yes yes yes
赋值操作 c.assign(n,t) 将容器c重新设置为存储n个值为t的元素。 yes yes yes

C++ 顺序容器总结

标准库定义了3中顺序容器:vector、list、deque 一、顺序容器的定义 #include #include #include vector ivec; list ilist; 1、顺序...
  • h_wlyfw
  • h_wlyfw
  • 2014年02月12日 15:10
  • 945

STL1——顺序容器和顺序容器适配器

容器是容纳特定类型对象的集合,容器的类型分为顺序容器,容器适配器和关联容器,顺序容器将单一类型元素聚集起来成为容器,然后根据位置来存储和访问这些元素。...
  • u014245881
  • u014245881
  • 2015年08月30日 14:39
  • 1266

STL——顺序容器使用总结

1、顺序容器的定义
  • xiaoxiaoyusheng2012
  • xiaoxiaoyusheng2012
  • 2014年06月05日 20:14
  • 606

顺序容器的基本操作

顺序容器的基本操作 顺序容器 向量(vector) 双端队列(deque) 列表(list) 单向链表(forward_list) (以上四种在逻辑上可看作是一个长度可扩展的数组...
  • u013232740
  • u013232740
  • 2015年07月02日 10:51
  • 280

顺序容器和关联容器的比较

1、关于什么是容器,以及容器的分类,下面这两篇博客讲得比较清楚,可以参考一下: (1) C++顺序性容器、关联性容器与容器适配器 (2) C++容器:顺序容器,关联容器 2、关于顺序容器和关联容器...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2016年04月17日 21:55
  • 1511

STL之顺序容器和关联容器总结

顺序容器          Vector中所采用的数据结构非常简单:线性连续空间。当分配空间被占满而仍然需要添加元素时,vector便会进行一场空间重新配置的大工程!在这里,程序员需要注意的是,一旦...
  • lhc548453346
  • lhc548453346
  • 2016年03月07日 21:02
  • 885

C++顺序容器vector、deque、list

1、容器元素类型     C++中大多数数据类型可以作为容器的元素类型。容器元素类型必须满足一下两个条件:支持赋值和复制操作。     所以没有元素是引用类型的容器,同时IO对象和auto...
  • u013948190
  • u013948190
  • 2015年07月08日 14:49
  • 546

顺序容器性能比较

本博客内容来源与C++primer以及STL源码解析。1. 顺序容器类型介绍 vector string array 上述三种都将元素保存在连续的内存中,but ...
  • u014772862
  • u014772862
  • 2016年08月06日 20:33
  • 669

《c++ primer》 第9章 顺序容器 学习笔记

1.容器概述 #include //迭代器,包含c++11的begin() 和end()函数 #include //c++11 数组类型,长度固定,提供了更好、更安全...
  • wwh578867817
  • wwh578867817
  • 2014年12月01日 20:41
  • 2076

顺序容器 list

#include #include using namespace std; void PrintListContents(const list& listInput); int main(...
  • qq_31248551
  • qq_31248551
  • 2016年04月13日 19:27
  • 188
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:顺序容器的基本操作
举报原因:
原因补充:

(最多只允许输入30个字)