考察基本功,没啥好说的。

using namespace std;
struct LinkNode{
    int value;
    LinkNode* next;
};
int main(){
    int n;
    LinkNode* a=new LinkNode();//把a当作头节点。
    cin>>n;
    int head;
    cin>>head;
    a->value=head;
    a->next=NULL;
    int val,pos;
    LinkNode* p=a;//辅助指针p指向头节点a
    LinkNode*q;
    for(int i=0;i<n-1;i++){
        cin>>val>>pos;
        while(p!=NULL){
            if(p->value!=pos){
                p=p->next;
            }
            else{//执行插入操作。
                q=p->next;
                LinkNode * r=new LinkNode();
                r->value=val;
                r->next=q;
                p->next=r;
                break;
            }
        }
        p=a;//指针p复位
    }
    int deleteNum;
    cin>>deleteNum;
    p=a;
    while(p->value!=deleteNum){
        q=p;
        p=p->next;
        if(p->value==deleteNum){
            q->next=p->next;
        }
    }
    p=a;
    while(p!=NULL){
        cout<<p->value<<" ";
        p=p->next;
    }
}