HM204 双端月台四种构造
HM204 双端月台四种构造
来源: 第 204 集 deque容器-构造函数
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
双端数组两端都可以快速插入删除:头插 push_front、头删 pop_front、尾插 push_back、尾删 pop_back。动态数组在头部插删需要挪动后面的元素,数据越多越慢;双端数组两端都有开口,头尾插删都快。
它内部由中控器维护多段缓冲区,看起来像连续空间,但访问单个元素通常比一段连续内存的动态数组慢一些。迭代器仍然支持随机访问,可以跳跃式取元素。
本题只练构造。构造方式和动态数组基本相同。请按下面四种方式各建一座双端月台,并用**只读迭代器**打印。打印函数的参数必须是 const 引用,遍历时使用 const_iterator,不得改写元素。对 const 容器只能使用只读迭代器,普通 iterator 不能从只读容器的 begin/end 转换过来。
- 默认构造
d1,再把 \(0,1,\ldots,n-1\) 依次尾插。 - 区间构造
d2(d1.begin(), d1.end()),把d1的左闭右开区间拷过来。 - 「\(n\) 个 \(x\)」构造
d3(n, x)。 - 拷贝构造
d4(d3)。
这四种都是**构造**,发生在对象创建的那一行,不要写成先空着再 assign。使用前要包含 deque 头文件。
输入格式
一行两个整数 \(n\)、\(x\)。
输出格式
共四行,依次为 d1、d2、d3、d4。每行用单个空格分隔全部整数,行末无多余空格。空月台输出空行。
样例
输入 #1
10 100
输出 #1
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100
输入 #2
1 7
输出 #2
0
0
7
7
说明
\(1 \le n \le 1000\),\(|x| \le 10^9\)。
构造方式与动态数组类似:默认构造、区间构造、\(n\) 个值、拷贝构造。
信息
- ID
- 1203
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者