链表反向,

2014-11-23 22:08:36 · 作者: · 浏览: 4
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; };
链表反向: