欢迎来到天天文库
浏览记录
ID:57734482
大小:13.00 KB
页数:2页
时间:2020-09-02
《双向循环链表的创建.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#defineOVERFLOW-2#defineERROR0#defineOK1typedefintstatus;//双向循环链表的存储结构typedefstructDuLNode{intdata;intLength;structDuLNode*prior;structDuLNode*next;}DuLNode,*DuLinkList;//构建一个空的双向循环链表intInitList(DuLNode**p){*p=(DuLNode*)malloc(s
2、izeof(DuLNode));if(*p){(*p)->next=(*p)->prior=*p;(*p)->Length=0;}elseexit(OVERFLOW);}//双向循环链表的创建intCreate(DuLinkList&L,intn){//输入n个元素的值,建立带头结点的双线循环链表LDuLinkListp=L,q;inti;for(i=1;i<=n;i++){q=(DuLinkList)malloc(sizeof(DuLNode));/*申请一个结点*/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++;}}//结点的输出intDisplay(DuLinkListL){DuLinkListp;printf("双向循环链表中的结点的数据为:");for(p=L->next;p->next!=L;){printf("%d",p->data);printf("");p=p->next;}printf("%d",p->data);}//主函数实现双向循环链表的创建intm
4、ain(){DuLinkListL;intn,i;InitList(&L);printf("请输入创建循环结点的个数:");scanf("%d",&n);Create(L,n);Display(L);printf("双向循环链表中结点的个数为:%d",L->Length);return0;}
此文档下载收益归作者所有