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; };