容器都有那些?队列,栈,堆的区别?都有那些操作?

容器分为顺序容器和关联容器。

顺序容器:vector ,deque(双端队列), list

使用情况:

1.vector和 deque 支持随机访问元素。

2.如果必须在容器的中间位置插入和删除元素,则选用list.

3.如果只是在容器的头部和末尾插入和删除元素,则选用deque.

操作:

1.vector,deque,list均支持在末尾添加和删除一个元素:push_back ,pop_back.

2.vector,deque,list均支持插入和删除一个元素:insert ,erase. 

3.deque ,list 支持在头部添加和删除一个元素:push_front, pop_front.     vector不支持。

队列&栈:线性数据结构。

队列:FIFO,支持在队头删除元素,在队尾插入元素。操作有:q.front();q.rear();

栈:LIFO,支持在队头插入和删除元素。操作有:s.push();s.pop();s.top();

堆区& 栈区:数据存储区。

堆区:动态申请的区域,空间比较大。使用new申请的就是在这个地方获得内存。

栈区:存储变量的区域。

 

 

posted @ 2013-04-29 21:22  成长的点点滴滴  阅读(475)  评论(0)    收藏  举报