#include<iostream>
using namespace std;
struct Node{
int data;
Node* next;
};
void deleteNode(Node* p)
{
p->data=p->next->data; //将p后的节点的数值赋给p的data域
p->next=p->next->next; //将p后的节点删除,即完成了删除节点p的效果。
}
void display(Node* r)
{
while(r!=NULL)
{
cout<<r->data<<" ";
r=r->next;
}
cout<<endl;
}
int main()
{
Node* t;
Node* p=new Node();
p->data=1;
p->next=NULL;
t=p;
Node* q=new Node();
q->data=2;
q->next=NULL;
p->next=q;
Node* r=new Node();
r->data=3;
r->next=NULL;
q->next=r;
Node* s=new Node();
s->data=4;
s->next=NULL;
r->next=s;
Node* h=new Node();
h->data=5;
h->next=NULL;
s->next=h;
display(t);
deleteNode(r);
display(t);
system("pause");
return 0;
}