HM217 链表赋换

HM217 链表赋换

HM217 链表赋换

来源: 第 217 集 list容器-赋值和交换

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

链表创建好之后还可以再赋值,也可以整条互换。赋值不要和构造写在同一行搞混:

  1. 用重载的 = 把整条链表赋给另一条已经存在的链表。
  2. assign 提供一对迭代器,拷贝左闭右开区间。
  3. assign(k, x) 写入 \(k\) 个相同整数。

互换使用成员函数 swap,两条链表的内容对调。

打印函数仍应接受 const 引用,并用 const_iterator 遍历。链表迭代器不能随机加,取区间端点时要从 begin() 一步一步 ++

先把输入序列依次尾插入 l1,再按上面三种方式得到 l2l3l4 并打印四条链表;然后让 l1l4 互换,再打印这两条。

输入格式

第一行一个整数 \(n\)。

第二行 \(n\) 个整数 \(a_i\),依次尾插入 l1。当 \(n=0\) 时本行可以是空行。

第三行两个整数 \(L\)、\(R\),表示 assign 使用的半开区间 \([L,R)\)。

第四行两个整数 \(k\)、\(x\),表示 assign(k, x)

输出格式

共六行:先依次为赋值后的 l1l2l3l4,再为互换后的 l1l4。每行用单个空格分隔,行末无多余空格。空链表输出空行。

样例

输入 #1

4
10 20 30 40
0 4
10 100

输出 #1

10 20 30 40
10 20 30 40
10 20 30 40
100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100
10 20 30 40

输入 #2

6
9 8 7 6 5 4
2 5
0 1

输出 #2

9 8 7 6 5 4
9 8 7 6 5 4
7 6 5


9 8 7 6 5 4

说明

\(0 \le n \le 1000\),\(|a_i|,|x| \le 10^9\),\(0 \le L \le R \le n\),\(0 \le k \le 1000\)。

样例 #1:= 与区间 assign 得到 \(10\,20\,30\,40\),assign(10,100) 得到十个 \(100\),再与 l1 互换。样例 #2 的 \([2,5)\) 只取下标 \(2,3,4\);assign(0,1) 得到空链表,该行只输出换行;互换后空链表跑到 l1

信息

ID
1216
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者