初学者提问,实在不懂了。。求助!!
void reverse(linklist *&L){ linklist *p=L->next,*q; L->next=NULL; while(p){ q=p->next; p->next=L->next; L->next=p; p=q; }}#include <stdio.h>#include <malloc.h>typedef struct Lnode{ int data; struct Lnode *next;}linklist;void create_TOU(linklist *&L,int r[],int length){ linklist *newnode; L=(linklist*)malloc(sizeof(linklist)); L->data=length; for(int i=0;i<length;i++){ newnode=(linklist*)malloc(sizeof(linklist)); newnode->data=r[i]; newnode->next=L->next; L->next=newnode; }}void printL(linklist *L){ int length=L->data; printf("The length is: %d\n",L->data); L=L->next; printf("The value is:"); for(int i=0;i<length-1;i++){ printf("%d->",L->data); L=L->next; } printf("%d\n",L->data);}void reverse(linklist *&L){ linklist *p=L->next,*q; L->next=NULL; while(p){ q=p->next; p->next=L->next; L->next=p; p=q; }}int main(){ int r[]={45,89,33,12,59,879,6}; int length=sizeof(r)/sizeof(r[0]); linklist* myL; create_TOU(myL,r,length); printL(myL); reverse(myL); printL(myL); return 0;}void create_TOU(linklist *&L,int r[],int length){ linklist *newnode; L=(linklist*)malloc(sizeof(linklist)); L->data=length; L->next = 0; //既然你的结束条件是next为0,就得想办法保证