



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
双向链表 代码部分 /*双向链表*/ #include typedef struct dbnode int num; char name9; char sex3; int age; int score; struct dbnode *prior; /*前指针*/ struct dbnode *next; /*后指针*/ Node,*LinkList; /*结点类型、头指针类型*/ LinkList CreateLinkList() /*创建结点*/ LinkList head; /*链表头指针*/ Node *New,*End; /*新指针、尾指针*/ int i,x; head=(LinkList)malloc(sizeof(Node);/*生成头结点*/ head-prior=head; /*头指针 prior 指向自己*/ head-next=head; /*头指针 next 指向自己*/ End=head; /*尾指针指向头指针*/ printf(“请输入链表的长度:n“); scanf(“%d“, for(i=1;inum,New-name,New-sex,/*输入结点信息 */ End-next=New; /*尾指针 next 指向新结点*/ New-prior=End; /*新结点 prior 指向尾结点 */ New-next=head; /*新结点 next 指向头结点*/ head-prior=New; /*头指针 prior 指向新结点*/ End=New; /*尾结点指向新结点*/ return(head); void OutLinkList(LinkList head) /*输出结点*/ Node *p; int i=1; p=head; p=p-next; printf(“-学生信息档案表-n“); while(p!=head) printf(“Num %d:%d,%s,%s,%d,%d.n“,i+,p-num,p-name,p-sex,p-age,p-score); p=p-next; LinkList GetLinkList(LinkList head,int i) /*读表元素*/ Node *p; p=head-next; int c=1; while(cnext; c+; if(c=i) /*找到第 i 个结点*/ return p; else return NULL; /*查找失败*/ void InsertLinkList(LinkList head,int i) /*插入结点*/ Node *End,*New,*x; if(i=1) End=head; else End=GetLinkList(head,i); if(End=NULL) printf(“找不到插入位置“); else New=(Node *)malloc(sizeof(Node); printf(“请输入学号、姓名、性别、年龄、成绩:n“); scanf(“%d%s%s%d%d“, New-prior=End; New-next=End-next; End-next-prior=New; End-next=New; void DeleteLinkList(LinkList head,int i) /*删除结点*/ Node *p; if(i=1) p=head; else p=GetLinkList(head,i); /*查找第 i 个结点位置*/ if(p!=NULL) p-prior-next=p-next; /*p 前驱结点的后链指向 p 的后继结点*/ p-next-prior=p-prior; /*p 后继结点的前链指向 p 的前驱结点*/ free(p); /*释放*p 的空间*/ else printf(“找不到删除位置n“); LinkList LocateLinkList(LinkList head,int i) /*查找结点*/ Node *p; p=head-next; int c=1; while(cnext; c+; if(c=i) /*找到第 i 个结点*/ printf(“Num %d:%d,%s,%s,%d,%d.n“,i+,p-num,p-name,p-sex,p-age,p-score); else return NULL; /*查找失败*/ main() LinkList head; int n; head=CreateLinkList(); OutLinkList(head); printf(“请输入插入的位置:n“); scanf(“%d“, InsertLinkList(head,n); OutLinkList(head); printf(“请输入删除位置:n“); scanf(“%d“, D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 可视化视角下高中数学教学的创新路径
- 酒店服务质量管理标准及流程
- 规模化牧场数字化转型的全球发展趋势与挑战
- 校园餐管理中食品安全风险控制机制
- 友谊的话题探讨话题作文9篇范文
- 国际法涉外法律事务知识
- 建筑设计理念与规范实践案例分析
- 农旅融合中的党建作用及其重要性探讨
- 主要城市地理位置数据表
- 教育成果展示表格-学生学业成绩
- DL∕T 1430-2015 变电设备在线监测系统技术导则
- 光伏项目系统调试方案
- AQ/T 1089-2020 煤矿加固煤岩体用高分子材料(正式版)
- 2024年广东省初中学业水平考试生物押题卷
- MOOC 人格与人生-苏州城市学院 中国大学慕课答案
- 经济学思维方式智慧树知到期末考试答案2024年
- 口腔科医师职责
- 四年级语文 囊萤夜读微课-“江南联赛”一等奖
- 手术器械的识别和使用方法
- 医共体信息系统(HIS)需求说明
- 办学许可证续期申请书
评论
0/150
提交评论