STL-----Deque容器使用简要总结

本文简要总结了C++ STL中的Deque容器,包括其基本概念、构造函数、赋值操作、大小调整、插入删除、数据存取及排序方法。Deque作为双端数组,允许在两端高效地进行插入和删除操作,与vector相比,其头部操作更快,但访问速度稍慢。同时,介绍了如何使用sort算法对Deque进行排序。
摘要由CSDN通过智能技术生成

Deque容器使用简要总结

Deque容器的基本概念

双端数组,可以对头端进行插入删除操作(双端队列)
头文件为deque

deque与vector的区别

  • vector对于头部的插入与删除效率极低
  • vector访问元素的速度要比deque快,这与内部实现有关系

Deque构造函数

函数原型

	deque<T> deq;			//默认构造
	deque(beg, end);		//左闭右开的拷贝元素
	deque(n, elem);			//拷贝n个elem
	deque(const deque &deq);//拷贝构造

示例

	deque <int> dq;
	deque <int> dq1(dq.begin(), dq.end());
	deque <int> dq2(5, 2);
	deque <int> dq3(dq);

Deque赋值操作

函数原型

	deque& operator=(const deque &dq);	//重载等号
	assign(beg, end);					//左闭右开的赋值
	assign(n, elem);					//n个elem拷贝赋值

示例

	deque<int> dq;
	for (int i = 0; i < 10; i++)
	{
		dq.push_back(i);
	}
	
	deque<int> dq1 = dq;
	
	deque<int> dq2;
	dq2.assign(dq.begin(), dq.end());

	deque<int> dq3;
	dq3.assign(5, 2);

Deque大小操作

函数原型

	deque.empty();				//容器判空,空返回1,非空返回0
	deque.size();				//返回容器中元素的个数	
	deque.resize(num);			//改变长度,若变长则以默认值填充
								//若变短,则从尾部开始删
	deque.resize(num, elem);	//改变长度,若变长则用elem填充
								//若变短,则从尾部开始删

Deque插入和删除

函数原型

	push_back(elem);		//尾插
	push_front(elem);		//头插
	pop_back();				//尾删
	pop_front();

	insert(pos, elem);		//pos位置插入elem,返回pos
	insert(pos, n, elem);	//pos位置插入n个elem,无返回值
	insert(pos, beg, end);	//左闭右开插入,无返回值
	clear();				//清空
	erase(beg, end);		//左闭右开删除,返回下一个元素位置
	erase(pos);				//制定位置删除,返回下一个元素位置

:这里的beg,end均为迭代器类型

Deque 数据存取

函数原型

at(int idx);	//返回索引数据
operator[];
front();		//头
back();			//尾

Deque排序

算法

sort(iterator beg,iterator end); //左闭右开的排序

来自于头文件algorithm,默认升序
对于支持随机访问的迭代器,都可以使用sort算法对其进行排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值