vector和list的一些基本用法

来源:互联网 发布:mac口红免税店价格 编辑:程序博客网 时间:2024/05/17 16:15
   

1.vectorlist有几个公共的方法,下面三个是常见的对于vectorlist都适用的三个函数:

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

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

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

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

 -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):返回vectoridx索引位置的对象,包含边界检测。

 -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):删除所有从位置startend(但是不包括end)的所有元素。

0 0