template
class Node
{
public:
T data;
Node* next;
};
template
class link
{
public:
link()
{
head=new Node();
head->data=1;
head->next=NULL;
Node* pNew=NULL;
Node* p=NULL;
p=head;
while(true)
{
T i;
cin>>i;
if(i!=-1)
{
pNew=new Node ();
pNew->data=i;
pNew->next=NULL;
p->next=pNew;
p=pNew;
}
else
{
break;
}
}
}
void reverseLink()
{
assert(head!=NULL);
Node* previouse=NULL;
Node* p=head;
Node* tmp=NULL;
while(p!=NULL)
{
tmp=p->next;
p->next=previouse;
previouse=p;
p=tmp;
}
head=previouse;
}
void printLink()
{
Node* p=head;
while(p!=NULL)
{
cout<data<<" ";
p=p->next;
}
}
private:
Node* head;
};
链表反向: