#include <iostream> #include <list> using namespace std; int main() { int n;//链表节点数 int head;//头节点的值 cin >> n >> head; list<int> mylist; mylist.push_back(head);//给链表头节点赋值 for (int i = 1; i < n; ++i) { int pre, cur; cin >> cur >> pre;//pre前序值,前序值的下一个值 //find函数底层实现 auto it = mylist.begin(); while (*it != pre && it != mylist.end()){ it++; } mylist.insert(++it,cur);//在++it之前位置insert 值为cur的节点 } //输入最后一个数字的值为tail,删除链表中值为tail的节点 int tail; cin >> tail; for (auto i:mylist) { if (i == tail) { mylist.remove(i); break; } } for (auto i:mylist) { cout << i << ' '; } return 0; }