std::deque简单说明

本文转自:http://blog.chinaunix.net/u2/86575/showart_1734758.html

 

std::deque是一个高效的双端队列,可以高效地进行插入和删除操作。

以SGI C++ STL为例
deque的基本结构是:有一个map ,map中的元素是一个记录了一个大小为512字节的线性容器。

std::deque的构造方法:
std::deque queInt;//空队列
std::deque queInt(10);//长度为10的队列(其中元素被初始化为该类型的0值)
std::deque queInt(10,5);//长度为10的队列(其中元素被初始化为该类型的5)


std::deque queIntTemp(10,5);//长度为10的队列(其中元素被初始化为该类型的5)
std::deque queInt(queIntTemp);//以queIntTemp初始化queInt

int nArray[5] = {0,1,2,3,4};
std::deque queInt(nArray, nArray + 5);//注意这里是nArray + 5,而不是nArray + 4

插入数据的方法
push_back();//末尾插入
push_front();//前端插入

删除方法
pop_front();
pop_back();
erase();
clear();

 

lincyang注:

如果需要使用“消息队列”,那么用deque是再好不过了!高效的插入和删除,是deque与vector和list的区别。

从一个vector的尾部追加和删除元素是快速高效的;在list插入和删除元素的效率在任何位置都是等效的,但查询一个元素是费时的。

你可能感兴趣的:(C++)