資源描述:
《雙向循環(huán)鏈表的創(chuàng)建.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、#include#include#defineOVERFLOW-2#defineERROR0#defineOK1typedefintstatus;//雙向循環(huán)鏈表的存儲結(jié)構(gòu)typedefstructDuLNode{intdata;intLength;structDuLNode*prior;structDuLNode*next;}DuLNode,*DuLinkList;//構(gòu)建一個空的雙向循環(huán)鏈表intInitList(DuLNode**p){*p=(DuLNode*)malloc(s
2、izeof(DuLNode));if(*p){(*p)->next=(*p)->prior=*p;(*p)->Length=0;}elseexit(OVERFLOW);}//雙向循環(huán)鏈表的創(chuàng)建intCreate(DuLinkList&L,intn){//輸入n個元素的值,建立帶頭結(jié)點的雙線循環(huán)鏈表LDuLinkListp=L,q;inti;for(i=1;i<=n;i++){q=(DuLinkList)malloc(sizeof(DuLNode));/*申請一個結(jié)點*/printf("請輸入第%d個元素的值:",i);s
3、canf("%d",&q->data);p->next=q;q->prior=p;q->next=L;L->prior=q;p=q;L->Length++;}}//結(jié)點的輸出intDisplay(DuLinkListL){DuLinkListp;printf("雙向循環(huán)鏈表中的結(jié)點的數(shù)據(jù)為:");for(p=L->next;p->next!=L;){printf("%d",p->data);printf("");p=p->next;}printf("%d",p->data);}//主函數(shù)實現(xiàn)雙向循環(huán)鏈表的創(chuàng)建intm
4、ain(){DuLinkListL;intn,i;InitList(&L);printf("請輸入創(chuàng)建循環(huán)結(jié)點的個數(shù):");scanf("%d",&n);Create(L,n);Display(L);printf("雙向循環(huán)鏈表中結(jié)點的個數(shù)為:%d",L->Length);return0;}