deque的STL常用库函数

双向队列基本的库函数
是一种优化了的、对序列两端元素进行添加和删除操作的基本序列容器。它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结构中保存对这些块及其顺序的跟踪。向deque 两端添加或删除元素的开销很小。它不需要重新分配空间,所以向末端增加元素比vector 更有效。

1 定义:
2 deque<int> q;
3 q.front(); //返回第一个元素的引用
4 q.empty(); //返回真如果双向队列为空
5 q.pop_back() ;//删除尾部的元素
6 q.pop_front(); //删除头部的元素
7 q.push_back(i) ;//在尾部加入一个元素
8 q.push_front(i); //在头部加入一个元素
9 q.size() ;//返回双向队列中元素的个数 
时间: 2024-10-02 08:33:53

deque的STL常用库函数的相关文章

CPP常用库函数以及STL

其他操作 memset void * memset ( void * ptr, int value, size_t num ); memset(ptr,0xff,sizeof(ptr)); 使用memset初始化vector vector<int> vec(10,1); memset(vec.data(),0,vec.size()*sizeof(int)); #include<bits/stdc++.h> 需要注意的是:对于set和map而言,find并不是第一个满足条件的对象位置

C++常用库函数

C++常用库函数  转自:http://blog.csdn.net/sai19841003/article/details/7957115 1.常用数学函数 头文件 #include <math> 或者 #include <math.h>   函数原型 功能 返回值 int abs(int x) 求整数x的绝对值 绝对值 double acos(double x) 计算arcos(x)的值 计算结果 double asin(double x) 计算arsin(x)的值 计算结果 d

STL 常用算法

1.      STL 常用算法 l  for_each() 例1 //普通函数 voidFuncShowElemt2(int &t) { cout << t << " "; } vector<int> v1; v1.push_back(1); v1.push_back(3); v1.push_back(5); //通过回调函数  谁使用for_each 谁去填写回调函数的入口地址 for_each(v1.begin(), v1.end(),

Lua 常用库函数

一.数学库 1. 随机数 math.randomseed(os.time());   -- 设置随机种子 for i=1, 100 do print(math.random(-1000,1000));   -- 随机区间 [-1000,1000], math.random(1000) 表示 [1,1000] end; 2. 最大,最小值 math.max   math.min 二.table 库 1. 插入和删除 a = {10,20,30}; print(unpack(a)); table.i

转载 C++常用库函数atoi,itoa,strcpy,strcmp的实现

C++常用库函数atoi,itoa,strcpy,strcmp的实现 C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. 字符串比较 - strcmp7. 计算字符串中的元音字符个数8. 判断一个字符串是否是回文1. 写一个函数实现字符串反转 版本1 - while版 void strRev(char *s){    char temp, *end 

C++ STL 常用遍历算法

C++ STL 常用遍历算法 STL的容器算法迭代器的设计理念 1) STL的容器通过类模板技术,实现数据类型和容器模型的分离 2) STL的迭代器技术实现了遍历容器的统一方法:也为STL的算法提供了统一性奠定了基 础 3) STL的算法,通过函数对象实现了自定义数据类型的算法运算:所以说:STL的算法也提 供了统一性.                核心思想:其实函数对象本质就是回调函数,回调函数的思想:就是任务的编写者和任务的调用者有效解耦合.函数指针做函数参数.4) 具体例子:transf

C++ STL 常用算术和生成算法

C++ STL 常用算术和生成算法 accumulate() accumulate: 对指定范围内的元素求和,然后结果再加上一个由val指定的初始值. #include<numeric> vector<int> vecIntA; vecIntA.push_back(1); vecIntA.push_back(3); vecIntA.push_back(5); vecIntA.push_back(7); vecIntA.push_back(9); int iSum = accumul

C++STL 常用 函数 用法

学完c++快一年了,感觉很有遗憾,因为一直没有感觉到c++的强大之处,当时最大的感觉就是这个东西的输入输出比C语言要简单好写. 后来我发现了qt,opencv,opengl,原来,c++好玩的狠. 在这些图形库之外,最常用的可能就是STL,这个东西由于当时学c++的时候迷迷糊糊,完全是一头雾水,上学期数据结构之后开始有点儿开窍了,现在把才c++STL中常用的函数,用法贴一下,也是记录一下,希望能给一样迷糊的盆友们一些帮助. 整理自<ACM程序设计> 迭代器(iterator) 个人理解就是把所

C++中STL常用容器的区别(转)

我们常用到的STL容器有vector.list.deque.map.multimap.set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我们了解清楚. verctor vector类似于C语言中的数组,它维护一段连续的内存空间,具有固定的起始地址,因而能非常方便地进行随机存取,即 [] 操作符,但因为它的内存区域是连续的,所以在它中间插入或删除某个元素,需要复制并移动现有的元素.此外,当被插入的内存空间不够时,需要重新申请一块足够大的