考察基本功,没啥好说的。
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;
}
}