HM204 双端月台四种构造

HM204 双端月台四种构造

HM204 双端月台四种构造

来源: 第 204 集 deque容器-构造函数

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

双端数组两端都可以快速插入删除:头插 push_front、头删 pop_front、尾插 push_back、尾删 pop_back。动态数组在头部插删需要挪动后面的元素,数据越多越慢;双端数组两端都有开口,头尾插删都快。

它内部由中控器维护多段缓冲区,看起来像连续空间,但访问单个元素通常比一段连续内存的动态数组慢一些。迭代器仍然支持随机访问,可以跳跃式取元素。

本题只练构造。构造方式和动态数组基本相同。请按下面四种方式各建一座双端月台,并用**只读迭代器**打印。打印函数的参数必须是 const 引用,遍历时使用 const_iterator,不得改写元素。对 const 容器只能使用只读迭代器,普通 iterator 不能从只读容器的 begin/end 转换过来。

  1. 默认构造 d1,再把 \(0,1,\ldots,n-1\) 依次尾插。
  2. 区间构造 d2(d1.begin(), d1.end()),把 d1 的左闭右开区间拷过来。
  3. 「\(n\) 个 \(x\)」构造 d3(n, x)
  4. 拷贝构造 d4(d3)

这四种都是**构造**,发生在对象创建的那一行,不要写成先空着再 assign。使用前要包含 deque 头文件。

输入格式

一行两个整数 \(n\)、\(x\)。

输出格式

共四行,依次为 d1d2d3d4。每行用单个空格分隔全部整数,行末无多余空格。空月台输出空行。

样例

输入 #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
通过率
?
上传者