“嗨,偶系你们的C语言助教,代码我写过很多,但链表我只写这一个,介系一款你没有写过的船新链表……”
“作为酱菜软件工程专业学生,想必你一定是知道链表是什么的。那么现在,我就替你们C语言老师来考考你们。”
在一行中输入两个整数N,M(0≤N,M≤1000),接下来一行中包含N个整数组成一个链表,之后的M行中,每一行包含3个整数T、X、Y ,每行中T表示操作的类型,X、Y表示操作相关的数据,以空格分隔。
你需要做的,是输出操作后的链表。
定义如下操作:
T为1时,表示在第个元素之后插入数据Y,X为0时表示在链表首端插入。
T为2时,表示将链表中第X(1≤X)个元素替换为Y。
T为3时,表示删除链表中第X元素到第Y(1≤X≤Y)个元素。
T为4时,表示反转 [ X , Y ] 区间内所有数据的顺序。
题目保证数据合法。
第一行输入N、M
第二行包含N个以空格分隔的整数
其后的M行,每行包含3个整数T、X、Y
在一行中按顺序输出链表中的元素,以空格分隔。行尾不得有多余空格