使用链表实现简单的学生信息录入系统

使用链表实现简单的学生信息录入系统

ID:33930215

大小:93.92 KB

页数:22页

时间:2019-02-27

使用链表实现简单的学生信息录入系统_第1页
使用链表实现简单的学生信息录入系统_第2页
使用链表实现简单的学生信息录入系统_第3页
使用链表实现简单的学生信息录入系统_第4页
使用链表实现简单的学生信息录入系统_第5页
资源描述:

《使用链表实现简单的学生信息录入系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//双链表的基本实现#include#include#include#includetypedefstructSTUDENT{longsId;//学生学号charsName[20];//学生姓名structSTUDENT*pNext;//指向下一个学生structSTUDENT*pPre;//指向前一个学生}student;//创建链表student*CreateLink(){student*pHead;//链表头pHead=(student*)malloc(sizeof(student));pHead->

2、pNext=NULL;pHead->pPre=NULL;student*pTemp;//定义指针,始终指向最后一个pTemp=(student*)malloc(sizeof(student));pTemp=pHead;intiCount=0;student*p;while(1){p=(student*)malloc(sizeof(student));//动态创建节点iCount++;printf("请输入第%d个学生的学号(输入0结束):",iCount);scanf("%ld",&p->sId);if(p->sId==0)break;printf("请输入该学生的姓名:");sca

3、nf("%s",p->sName);pTemp->pNext=p;p->pPre=pTemp;p->pNext=NULL;pTemp=pTemp->pNext;pTemp->pNext=NULL;//将最后一个指针指向空}returnpHead;}//查找学生voidFindStudentLink(student*pHead,longiId){student*pTemp;pTemp=pHead->pNext;intifFind=0;if(pHead->pNext==NULL)printf("链表为空,无法查找!");while(pTemp!=NULL){if(pTemp->sId

4、==iId){printf("学号为%ld的学生信息:",iId);printf("姓名为:%s",pTemp->sName);ifFind=1;}pTemp=pTemp->pNext;}if(ifFind==0)printf("没有这个学号!");}//插入学生/*//在指点的位置i前面插入学生intInsertLink(student*pHead,inti){student*pTemp;pTemp=pHead->pNext;student*p;//要插入的学生p=(student*)malloc(sizeof(student));if(p==NULL)return0;

5、printf("请输入你想要插入学生的学号:");scanf("%ld",&p->sId);printf("请输入你想要插入学生的姓名:");scanf("%s",p->sName);intj=1;if(pHead==NULL){if(i==0){pHead->pNext=p;p->pNext=NULL;}else{printf("无法插入!");return0;}}while((jpNext;j++;}if(pTemp==NULL){printf("要插入的位置不对,插入失败!");return0;}p-

6、>pNext=pTemp->pNext;pTemp->pNext=p;return1;}*///将新学生的信息插入到学号为iId的学生的前面student*InsertLink(student*pHead,longiId,student*pNewStu){student*pTemp,*pPrevious;pTemp=pHead->pNext;intifFind=0;if(pHead->pNext==NULL)//如果链表为空,则将其插入到第一个{pHead->pNext=pNewStu;pNewStu->pPre=pHead;}while(pTemp!=NULL){if(pTemp-

7、>sId==iId){//不是插入在第一个节点之前的时候,则指向当前节点pTemp的前一个节点的//pNext指向新节点pNewStu,新节点pNewStu的pNext指向当前节点pTemp;pPrevious->pNext=pNewStu;pNewStu->pPre=pPrevious;pNewStu->pNext=pTemp;pTemp->pPre=pNewStu;ifFind=1;}pPrevious=pTemp;//pPrevious始终指向pTe

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

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

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