严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx

严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx

ID:59237634

大小:12.32 KB

页数:8页

时间:2020-09-09

严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx_第1页
严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx_第2页
严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx_第3页
严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx_第4页
严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx_第5页
资源描述:

《严蔚敏版数据结构建立学生信息无头结点单链表C语言版.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#includetypedefstructStudent/*定义学生类*/{intnum;charname[20];charsex[2];intage;floatgrade;}stu;typedefstructLNode{studata;structLNode*next;}LNode,*Linklist;LinklistInitList_L(LinklistL)/*构造一个空的单向链表*/{L=(Linklist)malloc(sizeof(stu));if(!L)printf("ERROR");else{L=NULL;p

2、rintf("OK");returnL;}}voidDestroyList_L(LinklistL)//销毁单向链表*/{Linklistp;if(!L)printf("ERROR");else{while(L){p=L;L=L->next;free(p);}printf("OK");}}voidClearList_L(LinklistL)/*将L重置为空表*/{Linklistp;if(!L)printf("ERROR");else{while(L->next){p=L->next;L->next=p->next;free(p);}printf("OK");

3、}}voidListEmpty_L(LinklistL)/*L为空表返回TRUE,否则返回FALSE*/{if(!L)printf("ERROR");else{if(!L->next)printf("TRUE");elseprintf("FLASE");}}intListLength_L(LinklistL)/*返回L中数据元素个数*/{inti=0;Linklistp=L;if(!L)return0;else{while(p){i++;p=p->next;}returni;}}voidGetElem_L(LinklistL,inti)//返回第i个元素的值*/{st

4、ue;Linklistp=L;intj=1;while(p!=NULL&&jnext;++j;}if(!p

5、

6、j>i)printf("ERROR");else{printf("学生%d的数据为:",i);printf("学号:%d姓名:%s性别:%s年龄:%d成绩:%f",p->data.num,p->data.name,p->data.sex,p->data.age,p->data.grade);printf("OK");}}voidPriorElem_L(LinklistL,stucur_e)/*用pre_e返回cur_e的前

7、驱*/{Linklistp=L;while(p->next&&(p->next->data).num!=cur_e.num)p=p->next;if(!p->next)printf("ERROR");else{printf("cur_e的前驱为:");printf("num:%dname:%ssex:%sage:%dgrade:%f",p->data.num,p->data.name,p->data.sex,p->data.age,p->data.grade);printf("OK");}}voidNextElem_L(LinklistL,stuc

8、ur_e)/*用next_e返回cur_e的后驱*/{Linklistp=L;while(p&&(p->data).num!=cur_e.num)p=p->next;if(!p

9、

10、!p->next)printf("ERROR");else{printf("cur_e的后驱为:");printf("num:%dname:%ssex:%sage:%dgrade:%f",p->next->data.num,p->next->data.name,p->next->data.sex,p->next->data.age,p->next->data.grade);p

11、rintf("OK");}}voidListInsert_L(LinklistL,inti)/*在i位置之前插入新元素*/{intj=0;Linklistp=L,s;while(p&&jnext;++j;}if(!p

12、

13、j>i-2)printf("ERROR");else{s=(Linklist)malloc(sizeof(LNode));printf("请输入要插入的元素的数据:");printf("学号:");scanf("%d",&s-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。