C++ STL deque可变数组

原创 2015年07月08日 17:03:26

     写一写,记录自己的点滴,以免忘记了哈哈。

      deque资料应该很多,这里不多所了,直接一点上程序吧!

#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>//用于distance(deque模板,deque迭代器)

using namespace std;

/*
STL deque 是一个动态数组,与vector类似
可在开头与末尾插入、删除数据
*/

void main() {

	//定义一个deque
	deque <int> a;

	//从末尾添加
	a.push_back(3);
	a.push_back(4);
	a.push_back(5);
	//从开头添加
	a.push_front(2);
	a.push_front(1);
	a.push_front(0);
	
	//打印输出
	for (size_t nCount = 0; nCount < a.size(); ++nCount) {
		cout << "a[" << nCount << "] = ";
		cout << a[nCount] << endl;
	} 

	//删除数据
	a.pop_back();//删除末尾数据
	a.pop_front();//删除起始数据

	cout << "---------------------\n";

	//迭代器打印数据 deque   有自己的迭代器
	int i = 0;
	for (deque <int> ::iterator iter = a.begin(); iter != a.end(); iter++) {
		//cout << "a[" <<  i++ << "] = ";//自己的方法填写下标,可用

		//利用include <algorithm> 头文件
		size_t idex = distance(a.begin(),iter);
		cout << "a[" << idex << "] = ";
		cout << *iter << endl;
	}
	system("pause");


}

版权声明:本文或为博主加工、或为博主转载,提高自己,方便他人。

STL源码剖析——deque的实现原理和使用方法详解

Deque 简介     deque是“double—ended queue”的缩写,和vector一样都是STL的容器,deque 是双端数组,而 vector 是单端的。     deque 在接...
  • baidu_28312631
  • baidu_28312631
  • 2015年08月26日 10:48
  • 4061

STL系列之一 deque双向队列

deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维护一...
  • MoreWindows
  • MoreWindows
  • 2011年11月08日 09:52
  • 112349

STL 源码剖析 deque实现源码

#ifndef _HJSTL_DEQUE_H_ #define _HJSTL_DEQUE_H_ /* * Author:hujian * Time:2016/4/28 * discript...
  • hujian_
  • hujian_
  • 2016年04月28日 14:31
  • 1523

【C++】STL常用容器总结之五:双端队列deque

所谓的deque是”double ended queue”的缩写,双端队列不论在尾部或头部插入元素,都十分迅速。而在中间插入元素则会比较费时,因为必须移动中间其他的元素。双端队列是一种随机访问的数据类...
  • hero_myself
  • hero_myself
  • 2016年08月25日 11:05
  • 1579

基于环形缓冲区的deque实现方法

众所周知,C++ STL中有一个叫做deque的容器,实现的是双端队列数据结构,这种队列允许同时从队列的首部和尾部插入和删除数据。 然而在STL中这种数据结构是用”分段连续”的物理结构实现的(可以参...
  • vipally
  • vipally
  • 2016年10月20日 00:50
  • 611

【STL】deque的常用方法

deque的常用方法预览 【1】push_back 【2】push_front 【3】pop_back、pop_front 【4】erase 【5】insert 【6】swap 【7】clear 【8...
  • qq_31839479
  • qq_31839479
  • 2016年09月04日 13:05
  • 283

STL 简单 deque 的实现

我用VS2013写的程序(github ),list版本的代码位于cghSTL/version/cghSTL-0.3.3.rar Vector是单向开口的连续线性空间,而Deque是双向开口的连续线性...
  • chengonghao
  • chengonghao
  • 2016年05月20日 21:33
  • 2393

STL之deque容器的实现框架

vector底层采用的是一个数组来实现,list底层采用的是一个环形的双向链表实现,而deque则采用的是两者相结合,所谓结合,并不是两种数据结构的结合,而是某些性能上的结合。我们知道,vector支...
  • JXH_123
  • JXH_123
  • 2014年06月24日 20:28
  • 1343

C++ queue 和 deque的区别

先说queue,queue支持5中基本的操作: empty,
  • bemachine
  • bemachine
  • 2014年08月12日 13:07
  • 6940

单调队列+STL deque

单调队列=双端队列! 我们从最简单的问题开始: 给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k. 要求:       f(i) = max{a(i-k+1),a(i-...
  • leolin_
  • leolin_
  • 2011年08月06日 15:14
  • 1305
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ STL deque可变数组
举报原因:
原因补充:

(最多只允许输入30个字)