#P3700. 学习系列——链表 II——双向链表

学习系列——链表 II——双向链表

Description

【任务】
给定一个N个数的构成的双向链表,M 次操作,每次操作为下列操作之一。
操作 1 x:在双向链表的最左端插入数字 x
操作 2 x:在双向链表的最右端插入数字 x
操作 3 k x:在第 k 个插入的数左侧插入一个数x
操作 4 k x:在第k 个插入的数右侧插入一个数 x
操作 5 k:表示将第k个插入的数删除。

Input Format

第一行包括两个整数N (1≤N≤104), M(1≤M≤102)N 表示原有的双向链表元素个数,M 表示操作次数。
第二行包括N 个数字 ai, (−10^9≤si≤10^9)
接下来 M行,每行包含一个操作命令,具体操作看题目描述。
保证所有操作保证合法。

Output Format

m组输出,每组输出包括四行。
第一行输出:op:x,其中x 表示第几次操作。具体看样例输出。
第二行若干个数将整个链表从左到右输出。
第三行若干个数将整个链表从右到左输出。
第四行为一个空行。
8 10
1 -8 3 5 7 6 -20 40
2 7
5 1
1 3
3 2 10
5 3
3 2 7
1 8
2 9
3 4 7
4 2 2
op:1
1 -8 3 5 7 6 -20 40 7 
7 40 -20 6 7 5 3 -8 1 

op:2
-8 3 5 7 6 -20 40 7 
7 40 -20 6 7 5 3 -8 

op:3
3 -8 3 5 7 6 -20 40 7 
7 40 -20 6 7 5 3 -8 3 

op:4
3 10 -8 3 5 7 6 -20 40 7 
7 40 -20 6 7 5 3 -8 10 3 

op:5
3 10 -8 5 7 6 -20 40 7 
7 40 -20 6 7 5 -8 10 3 

op:6
3 10 7 -8 5 7 6 -20 40 7 
7 40 -20 6 7 5 -8 7 10 3 

op:7
8 3 10 7 -8 5 7 6 -20 40 7 
7 40 -20 6 7 5 -8 7 10 3 8 

op:8
8 3 10 7 -8 5 7 6 -20 40 7 9 
9 7 40 -20 6 7 5 -8 7 10 3 8 

op:9
8 3 10 7 -8 7 5 7 6 -20 40 7 9 
9 7 40 -20 6 7 5 7 -8 7 10 3 8 

op:10
8 3 10 7 -8 2 7 5 7 6 -20 40 7 9 
9 7 40 -20 6 7 5 7 2 -8 7 10 3 8

Source

数据结构 链表