0
已解决
lzz今天学会了插入排序,他觉得插入排序很有趣。现在他有一个长为n的序列,而且这个序列中没有相同的数。现在他想对这个数列进行m次操作。每次操作他会选择一个序列中的元素x,然后他可以选择将x从序列中拿出来放到序列的尾部;或者将x取出来,然后把序列按顺序输出,再将x插入到原来的位置。但是他做了很久也没做出来,于是他请你来完成这个任务。
输入描述 Input Description
第一行输入一个整数n。
第二行按顺序输入n个整数,表示lzz的序列。
第三行输入一个整数m。
后面m行,每行两个整数a,b,若a=0,表示lzz将b取出来并放到序列的尾部;若a=1,表示lzz要将b取出来后输出,然后再将b放回原位。
(1<=n,m<=5000)
输出描述 Output Description
对于每一个a=1,输出一行。
每行n-1个整数,表示lzz取出了b之后的序列。
样例输入 Sample Input
10 1 2 3 4 5 6 7 8 9 10 5 0 5 1 10 1 7 0 9 1 8
样例输出 Sample Output
1 2 3 4 6 7 8 9 5 1 2 3 4 6 8 9 10 5 1 2 3 4 6 7 10 5 9
数据范围及提示 Data Size & Hint
1<=n,m<=5000
0
已采纳
输入>>n;
循环(定义 i=1;i<=n;i++){
输入>>a;
l.向尾部插入(a); //l是int类型的链表
}
输入>>m;
循环(定义 i=1;i<=m;i++){
输入>>t1>>t2;
如果(t1==0){
for(定义 it=l.begin();it!=l.end();it++){ //it 是迭代器
如果(*it==t2){
l.删除(it);
跳出;
}
}
l.向尾部插入(t2);
}
否则{
for(定义 it=l.begin();it!=l.end();it++){ //it 同上一个循环的意思
如果(*it!=t2){
输出<<*it<<" ";
}
}
输出<<endl;
}
}
PS:会链表吗?不会自己想办法(学哪了?)
0