SDUTOJ-2054 資料結構實驗之連結串列九:雙向連結串列
阿新 • • 發佈:2018-11-12
#include <iostream> #include <cstdlib> using namespace std; typedef int ElementType; typedef struct node { ElementType x; struct node * next; struct node * front; } Lnode; typedef Lnode * List; int main() { int n, m; cin>>n>>m; List head = (List) malloc( sizeof(Lnode) ); head->next = NULL; head->front = NULL; List tail = head; for(int i = 0; i < n; i++) { List p = (List) malloc( sizeof(Lnode) ); cin>>p->x; p->front = tail; tail = tail->next = p; } tail->next = NULL; int t; for(int i = 0; i < m; i++) { cin>>t; List p = head->next; while(p && p->x != t) p = p->next; if(p) { if(p->front != head || p->next) { if(p->front != head && p->next) { cout<<p->front->x<<' '<<p->next->x<<endl; } else if(p->front != head) { cout<<p->front->x<<endl; } else { cout<<p->next->x<<endl; } } } } return 0; }