您的位置:首页 > 其它

vector和list的一些基本用法

2015-09-10 16:33 162 查看
1.vector和list有几个公共的方法,下面三个是常见的对于vector和list都适用的三个函数:

-Int size() const: 返回容器内的元素个数。

-Void clear():删除容器内所有的元素。

-Bool empty():如果容器没有元素,返回true,否则返回false.

2.vector和list都适合在常量的时间内在表的末尾添加或者删除。Vector和list两者都支持在常量的时间内访问前端的项。

-void push_back(const object & x):在表的末尾添加x.

-void pop_back():删除表的末尾的对象。

-const Object&back()const:返回表的末尾的对象。

-const Object&front()const:返回表的前端的对象。

3.因为双向链表允许在表的前端进行高效的改变,而vector不支持,下面的方法仅对list有效:

-void push_front(const Object&x):在list的前端加上x.

-void pop_front()在list的前端删除x.

4.下面的这些方法,仅对vector有效:

-Object &operator[] (int idx):返回vector中的idx索引位置的对象,不包含边界检测。

-Object&at(int idx):返回vector中idx索引位置的对象,包含边界检测。

-int capacity()const:返回vector的内部容量。

-void reserve(int new Capacity):设定vector的新容量。

5.迭代器iterator

(1)或者迭代器

Iterator begin():返回指向容器的第一项的第一个迭代器。

Iterator end():返回指向容器的终止标志(容器中最后一项的后面的位置)的一个适当的迭代器。

定义迭代器可以这样定义:vector<int>vec;

(2)需要迭代器的容器操作

下面是迭代器的三个流行的方法:

-iterator insert(iterator pos,const Object&x):添加x到表中迭代器pos所指向的位置之前的位置。这对list是常量时间操作,但是对vector则不是。

-iterator erase(iterator pos):删除迭代器所给出的位置的对象。这对list来说常量时间操作,但是对于vector则不是。

-iterator erase(iterator start,iterator end):删除所有从位置start到end(但是不包括end)的所有元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: