已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
创建双向循环链表的源代码:#include#include#define OVERFLOW -2#define ERROR 0#define OK 1typedef int status;/双向循环链表的存储结构typedef struct DuLNode int data; int Length; struct DuLNode *prior; struct DuLNode *next; DuLNode,*DuLinkList;/构建一个空的双向循环链表void InitList(DuLNode *p) *p=(DuLNode *)malloc(sizeof(DuLNode);if(*p) (*p)-next=(*p)-prior=*p; (*p)-Length=0;else exit(OVERFLOW);/双向循环链表的创建void Create(DuLinkList &L,int n)/输入n个元素的值,建立带头结点的双线循环链表LDuLinkList p=L,q;int i;for(i=1;idata);p-next =q;q-prior=p;q-next=L;L-prior =q;p=q;L-Length +;/结点的输出void Display( DuLinkList L) DuLinkList p; printf(双向循环链表中的结点的数据为:); for(p=L-next ;p-next !=L;)printf(%d,p-data);printf( 、 ); p=p-next ; printf(%dn,p-data );int main() DuLinkList L;int n,i; InitList(&L) ;printf(你想创建几个循环节点就输入几就行啦,请输入:);scanf(%d,&n);Create(L,n); Display(L); 双向循环链表插入源代码:#include#include#define OVERFLOW -2#define ERROR 0#define OK 1typedef int status;/双向循环链表的存储结构typedef struct DuLNode int data; int Length; struct DuLNode *prior; struct DuLNode *next; DuLNode,*DuLinkList;/构建一个空的双向循环链表int InitList(DuLNode *p) *p=(DuLNode *)malloc(sizeof(DuLNode);if(*p) (*p)-next=(*p)-prior=*p; (*p)-Length=0;else exit(OVERFLOW);/双向循环链表的创建void Create(DuLinkList &L,int n)/输入n个元素的值,建立带头结点的双线循环链表LDuLinkList p=L,q;int i;for(i=1;idata);p-next =q;q-prior=p;q-next=L;L-prior =q;p=q;L-Length +;/查找元素的位置DuLinkList GetElemP(DuLinkList h,int i) int j; DuLinkList p=h; for(j=1;jnext ; return p;/结点的插入status Listinsert(DuLNode *m,int i,int e)/在带头结点的双链循环线性表L中第i个位置之前插入元素e,i的合法值为1i表长 DuLinkList p,q; if(i(m-Length) / i值不合法 return ERROR; p=GetElemP(m,i); if(!p) return ERROR; q=(DuLinkList)malloc(sizeof(DuLNode); if(!q) return OVERFLOW; q-data=e; q-prior=p-prior; p-prior-next=q; q-next=p; p-prior=q; m-Length+; printf(您在双向循环链表第%d个位置之前插入了一结点元素:%dn,i,e); return OK;/结点的输出void Display( DuLinkList L) DuLinkList p; printf(双向循环链表中的结点的数据为:); for(p=L-next ;p-next !=L;)printf(%d,p-data);printf( 、 ); p=p-next ; printf(%dn,p-data ); int main() DuLinkList L;int n,i,l,e; InitList(&L) ;printf(你想这双向循环链表中有几个节点?请输入:);scanf(%d,&n);Create(L,n);/结点的插入printf(请输入插入的位置和元素:n);scanf(%d,%d,&l,&e);Listinsert(L,l,e);Display(L); 双向循环链表删除的源代码:#include#include#define OVERFLOW -2#define ERROR 0#define OK 1typedef int status;/双向循环链表的存储结构typedef struct DuLNode int data; int Length; struct DuLNode *prior; struct DuLNode *next; DuLNode,*DuLinkList;/构建一个空的双向循环链表void InitList(DuLNode *p) *p=(DuLNode *)malloc(sizeof(DuLNode);if(*p) (*p)-next=(*p)-prior=*p; (*p)-Length=0;else exit(OVERFLOW);/双向循环链表的创建void Create(DuLinkList &L,int n)/输入n个元素的值,建立带头结点的双线循环链表LDuLinkList p=L,q;int i;for(i=1;idata);p-next =q;q-prior=p;q-next=L;L-prior =q;p=q;L-Length +;/查找元素的位置DuLinkList GetElemP(DuLinkList h,int i) int j; DuLinkList p=h; for(j=1;jnext ; return p;/结点的删除status ListDelete(DuLinkList L,int i)/删除带头结点的双链循环线性表L的第i个元素,i的合法值为1i表长DuLinkList p;if(iprior-next=p-next; p-next-prior=p-prior;L-Length -;printf(删除了双线循环链表中第%d个结点,元素值为:%dn,i,p-data); free(p);return OK;/结点的输出void Display( DuLinkList L) DuLinkList p; printf(双向循环链表中的结点的数据为:); for(p=L-next ;p-next !=L;)printf(%d,p-data);printf( 、 ); p=p-next ; printf(%dn,p-data );/主函数实现链表的创建,插入,删除等操作int main() DuLinkList L;int n,i; InitList(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起重机指挥q1模拟考试题库答案
- 2025年民宿旅游运营协议
- 绵阳市涪城区事业单位招聘考试真题及答案2022
- 2025年门窗安装保密协议
- 2025年绿色建筑采购协议
- 2025年体育赛事承办项目可行性研究报告及总结分析
- 教师安全考试试卷(2篇)
- 电工(初级工)考试题与参考答案
- 2025年人工智能辅助医疗服务可行性研究报告及总结分析
- 2025年高级矿井机电维修工(理论知识)考试真题试题(新版)-含答案
- 矿泉水采购合同范文
- 人文成都智慧树知到期末考试答案章节答案2024年成都师范学院
- 医疗组长竞聘演讲
- (高清版)DZT 0142-2010 航空磁测技术规范
- (高清版)DZT 0284-2015 地质灾害排查规范
- 《因果推断实用计量方法》大学教学课件-双重差分法
- 研学商业计划书模板
- 2023年光器件工艺工程师年终总结及下一年展望
- 3.3《不简单的杠杆》课件
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- GB/T 711-1988优质碳素结构钢热轧厚钢板和宽钢带
评论
0/150
提交评论