//後插法建立鏈表,然後從第二個元素(若有的話)開始依次插入到頭結點後面從而達到反轉鏈表的效果
題目描述:
輸入一個鏈表,反轉鏈表後,輸出鏈表的所有元素。#include#include using namespace std; typedef struct LNode { struct LNode *next ; int data; }*Linklist; Linklist CreateList(Linklist list,int n) { int num=0; Linklist p=NULL,q=NULL; p=(Linklist)malloc(sizeof(Linklist *)); list=p; p->next=NULL; for(int i=0;i >num; q->data=num; q->next=NULL; p->next=q; p=q; } return list; } Linklist DesendList(Linklist list) { Linklist p=list->next,q=p->next,s=NULL; p->next=NULL; while(q)//q指向需要插入到頭結點後面的元素 { s=q; q=q->next; s->next=p; list->next=s; p=s; } return list; } void TraveseList(Linklist list) { Linklist p=list->next; if(p) { cout< data; p=p->next; } else {cout<<"NULL"< data; p=p->next; } cout< >n) { if(!n){cout<<"NULL"<