输入格式
第一行一个整数 q表示操作次数。
接下来 q行,每行表示一次操作,操作具体间题目描述。
输出格式
对于每个操作 2,输出一个数字,用换行隔开。
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
int n;
struct Node {int l, r;
};
map<int, Node>mm;
int main()
{mm[0].l = -1;mm[-1].r = 0;//-1作为开头0作为结尾cin >> n;while (n--){int a;cin >> a;if (a == 1){int b, c;cin >> b >> c;int temp;temp = mm[b].r;mm[b].r = c;mm[c].l = b;mm[c].r = temp;mm[temp].l = c;}else if (a == 3){int b;//删除的是b后面的不是bcin >> b;mm[mm[mm[b].r].r].l = mm[mm[b].r].l;mm[mm[mm[b].r].l].r = mm[mm[b].r].r;}else{int b;cin >> b;cout << mm[b].r << endl;}}return 0;
}