1、#includeusing namespace std;typedef struct lint data;struct l *next;T;T * creation()/创建链表T *head,*p;int f=1,d;head=new T;p=head;coutd;head-data=d;doT *temp =new T;cind;if(d!=0)temp-data=d;p-next=temp;p=temp;else f =0;while(f);p-next=NULL;return head;T *reverse(T *head) /链表的逆置if(head=NULL | head-next
2、=NULL)return head;T *p1, *p2, *p3;p1 =head;p2=head-next;dop3 = p2-next ;p2-next = p1;p1 = p2;p2 = p3;while(p2);head-next=NULL;head =p1;return head;void show(T *head)/输出链表if(head=NULL)coutdata next ;while(head!=NULL);coutendl;int main()T *head;head=creation();cout“输入的链表为:“endl;show(head);cout“此链表的逆置为:“endl;head=reverse(head);show(head);return 0;