C++ deque容器的相关操作

标题 C++ deque(队列) 容器

一、deque的构造函数
1、c.push_back(k),在c的尾部创建一个值为t或由args创建的元素。返回void
2、c.push_front(t),在c的头部创建一个值为t或由args创建的元素.返回void

    deque<int> d;
	d.push_back(10);
	d.push_back(20);
	d.push_back(30);
	d.push_back(40);
	printDeque(d);

输出:

10 20 30 40
请按任意键继续. . .

二、swap交换
1、swap(c1,c2)
2、c1.swap(c2)
上诉两个都是交换c1和c2中的元素。c1和c2必须具有相同的类型。swap通常比c2向c1拷贝元素快得多

    deque<int> d;
	d.push_back(10);
	d.push_back(20);
	d.push_back(30);
	d.push_back(40);
	
	deque<int> d2(10, 1);
	printDeque(d2);
	d2.swap(d);
	printDeque(d2);

输出:

1 1 1 1 1 1 1 1 1 1
10 20 30 40
请按任意键继续. . .

三、deque大小操作
1、成员函数size返回容器中元素的数目;
2、empty当size为0是返回布尔值true,否则返回false;
3、max_size返回一个大于或等于该类型容器所能容纳的最大元素数的值
4、d.resize(20,0)重新指定元素的长度,以第二个元素填充

deque<int> d = {10,20,30,40,50,60};
	printDeque(d);
	cout << "d中元素个数为:" << d.size() << endl;
	if (!d.empty())
	{
		cout << "d的容器不为空" << endl;
	}
	else
	{
		cout << "d的容器为空" << endl;
	}
	d.resize(20, 0);
	printDeque(d);

输出:

10 20 30 40 50 60
d中元素个数为:6
d的容器不为空
10 20 30 40 50 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0
请按任意键继续. . .

四、deque双端插入和删除操作
1、d.push_back(t);向容器尾部插入一个数据
2、d.push_front(t);向容器头部插入一个数据
3、d.pop_back();//删除容器最后一个数据
4、d.pop_front();//删除容器第一个数据

	deque<int> d = { 10,20,30,40,50,60 };
	cout << "d中的原始元素为:";
	printDeque(d);
	d.push_back(25);
	d.push_front(20);
	cout << "插入操作后的d中的元素为:";
	printDeque(d);
	d.pop_back();
	d.pop_front();
	cout << "删除操作后的d中的元素为:";
	printDeque(d);

输出:

d中的原始元素为:10 20 30 40 50 60
插入操作后的d中的元素为:20 10 20 30 40 50 60 25
删除操作后的d中的元素为:10 20 30 40 50 60
请按任意键继续. . .

五、deque插入操作和删除操作
1、d.insert(++d.begin(), 4);//在第一个参数位置插入第二个参数,第一个参数为迭代器
2、d.erase§;删除迭代器p所指定的元素,返回一个指向被删除元素之后元素的迭代器,若p指向尾元素,则返回尾后迭代器。若p是尾后迭代器,则函数行为未定义

deque<int> d = { 10,20,30,40,50,60 };
	printDeque(d);
	d.insert(++d.begin(), 4); 
	cout << "插入之后的d容器的元素为:";
	printDeque(d);

	d.erase(++d.begin());
	cout << "删除后的操作为:";
	printDeque(d);

输出:

10 20 30 40 50 60
插入之后的d容器的元素为:10 4 20 30 40 50 60
删除后的操作为:10 20 30 40 50 60
请按任意键继续. . .
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值