您好,登錄后才能下訂單哦!
#include<stdio.h> #include<stdlib.h> #define N 9 typedef struct node{ int data; struct node * next; }ElemSN; ElemSN * Createlink(int a[],int n) { int i; ElemSN * h, * p; h=p=(ElemSN *)malloc(sizeof(ElemSN)); h->next=NULL; for( i=0;i<N;i++){ p=p->next=(ElemSN *)malloc(sizeof(ElemSN)); p->data =a[i]; p->next=NULL; } return h; } void printlink(ElemSN * h){ ElemSN * p; for(p=h;p->next;p=p->next) printf("%2d\n",p->next->data); } void Prelink(ElemSN*h){ ElemSN*p,*r; r=h->next; //頭指針后移,給r指針 h->next=NULL; //h斷開,避免形成環(是一個頭指針與第一個結點的環) while(r){//頭指針為空,鏈表遍歷完 p=r; //當前的結點 r=r->next;//r后移(頭指針),保證鏈表有頭指針 p->next=h->next;//掛鏈(逆置) h->next=p;//建立新的頭結點 } } int main(void){ int a[N]={1,2,3,4,5,6,7,8,9}; ElemSN * head; head=Createlink(a,9); Prelink(head); printlink(head); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。