C++ Deque 容器

C++ Deque 容器

开发工具与关键技术:Visual Studio、C++
作者:张国军
撰写时间:2019年07月15日

deque 的数据存取
deque.at(idx);返回索引 idx 所指的数据,如果 idx 越界,抛出 out_of_range。
deque[idx];返回索引 idx 所指的数据,如果 idx 越界,不抛出异常, 直接出错。
deque.front();返回第一个数据。
deque.back();返回最后一个数据

#include  <iostream>
#include <deque>
using  namespace std;
template<class T>
void dequeshow(deque<T>& deq) {
	for (int i = 0; i < deq.size(); i++)
	{
		cout<<deq[i]<<" ";
	}
	cout << endl;
}
void main()
{
deque<int> deqInt;
	deqInt.push_back(1);
	deqInt.push_back(3);
	deqInt.push_back(5);
	deqInt.push_back(7);
	deqInt.push_back(9);
	int iA = deqInt.at(0);
	int iB = deqInt[1];
	deqInt.at(0) = 99;
	deqInt[1] = 88;
	int iFront = deqInt.front();
	int iBack = deqInt.back();
	deqInt.front() = 77;
	deqInt.back() = 66;
	cout<<"deque.front(); 返回第一个数据:" << deqInt.front()<< endl;
	cout << "deque.back(); 返回最后一个数据:" << deqInt.back() << endl;
	dequeshow(deqInt);
}

在这里插入图片描述
deque 的大小
deque.size(); //返回容器中元素的个数 int 型变量
deque.empty(); //判断容器是否为空 返回 ture 和 false
deque.resize(num); //重新指定容器的长度为 num,若容器变长,则以默认值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。
deque.resize(num, elem); //重新指定容器的长度为 num,若容器变长,则以 elem 值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。

void main()
{
	deque<int> deqInt;
	deqInt.push_back(1);
	deqInt.push_back(3);
	deqInt.push_back(5);
	int iSize = deqInt.size(); //3
	cout << "deque.size():" << iSize<<endl;
	if (!deqInt.empty())
	{
		cout << "deqInt.empty():不为空"<<endl;
		deqInt.resize(5); //1 3 5 0 0
		cout << "deqInt.resize(5):"<<endl;
		dequeshow(deqInt);
		deqInt.resize(7, 1); //1 3 5 0 0 1 1
		cout << "deqInt.resize(7, 1):" << endl;
		dequeshow(deqInt);
		deqInt.resize(2); //1 3
		cout << "deqInt.resize(2):" << endl;
		dequeshow(deqInt);
	}
}

在这里插入图片描述
deque 的删除

void main()
{
deque<int> deqInt;
	deqInt.push_back(1);
	deqInt.push_back(3);
	deqInt.push_back(5);
	deqInt.push_back(7);
	deqInt.push_back(9);
	deque<int>::iterator itBegin = deqInt.begin() + 1;
	deque<int>::iterator itEnd = deqInt.begin() + 3;
	dequeshow(deqInt);
	deqInt.erase(itBegin, itEnd);
	cout << "deqInt.erase(itBegin, itEnd);" << endl;
	dequeshow(deqInt);
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值