1952: 链表的基本操作
Description
【题目描述】
链表是数据结构中一种最基本的数据结构,它是用链式存储结构实现的线性表。它较顺序表而言在插入和删除时不必移动其后的元素。现在给你一些整数,然后会频繁地插入和删除其中的某些元素,会在其中某些时候让你查找某个元素或者输出当前链表中所有的元素。
【输入格式】
【输出格式】
如果获取成功,则输出该元素;
如果删除成功则输出“delete OK”;
如果获取失败或者删除失败,则输出“get fail”以及“delete fail”。
如果插入成功则输出“insert OK”,否则输出“insert fail”。
如果是“show”则输出列表中的所有元素,如果列表是空的,则输出“Link list is empty”。
注:所有的双引号均不输出。
【输入样例】
3 3 2 1
21
show
delete 1
show
delete 2
show
delete 1
show
delete 2
insert 2 5
show
insert 1 5
show
insert 1 7
show
insert 2 5
show
insert 3 6
show
insert 1 8
show
get 2
【输出样例】
1 2 3
delete OK
2 3
delete OK
2
delete OK
Link list is empty
delete fail
insert fail
Link list is empty
insert OK
5
insert OK
7 5
insert OK
7 5 5
insert OK
7 5 6 5
insert OK
8 7 5 6 5
7
Input
输入第一行一个整数n,表示链表数据的数量。
第二行有n个整数,用来初始化列表的,并且输入的顺序与列表中的顺序相反,也就是说如果列表中是1、2、3那么输入的顺序是3、2、1。
第三行有一个整数m,代表下面还有m行。
接下来m行每行有一个字符串,字符串是“get”,“insert”,“delete”,“show”中的一种。
如果是“get”或者“delete”,则其后跟着一个整数a,代表获得或者删除第a个元素;
如果是“insert”,则其后跟着两个整数a和e,代表在第a个位置前面插入e;
“show”之后没有整数。
Output
如果获取成功,则输出该元素;
如果删除成功则输出“delete OK”;
如果获取失败或者删除失败,则输出“get fail”以及“delete fail”。
如果插入成功则输出“insert OK”,否则输出“insert fail”。
如果是“show”则输出列表中的所有元素,如果列表是空的,则输出“Link list is empty”。
注:所有的双引号均不输出。
Sample Input Copy
3
3 2 1
21
show
delete 1
show
delete 2
show
delete 1
show
delete 2
insert 2 5
show
insert 1 5
show
insert 1 7
show
insert 2 5
show
insert 3 6
show
insert 1 8
show
get 2
Sample Output Copy
1 2 3
delete OK
2 3
delete OK
2
delete OK
Link list is empty
delete fail
insert fail
Link list is empty
insert OK
5
insert OK
7 5
insert OK
7 5 5
insert OK
7 5 6 5
insert OK
8 7 5 6 5
7