C++ 简单粗暴
思路:
1,已知头结点,利用对组pair,找pair.second的位置,然后插入pair.frist
2,找到最后一个数的位置,删除他
3,最后输出
#include <iostream> #include <string> #include <forward_list>//单项链表 #include <list>//双项链表 #include <algorithm> using namespace std; int main() { forward_list<int> lis1; pair<int,int> T; int lis_num,lis_head,lis_eas; cin>>lis_num>>lis_head; lis1.push_front(lis_head); for(int i=0;i<lis_num-1;i++)//已知头结点,利用对组pair,找pair.second的位置,然后插入pair.frist { cin>>T.first>>T.second; forward_list<int> :: iterator it=find(lis1.begin(),lis1.end(),T.second); lis1.insert_after(it, T.first); } cin>>lis_eas; forward_list<int> :: iterator es=find(lis1.begin(),lis1.end(),lis_eas); //找到最后一个数的位置,删除他 lis1.remove(*es); for(forward_list<int> :: iterator la=lis1.begin();la!=lis1.end();la++)//最后输出 { cout<<*la<<' '; } return 0; }