欢迎来到天天文库
浏览记录
ID:22287557
大小:352.37 KB
页数:6页
时间:2018-10-28
《数据结构用链表实现学生信息管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、、信息链表的建立(输入学生信息)信数¥息息息个!T-立£生生f钟*M-.4^s>H^tH理口制统的讓入«于管泳谜描显4^<綠学0_Dn息个要要要al^4^1,、、—Z、、
2、、<5則、按要求插入学生信息^^^>s息息讀t生111口3:1:建么T学関统的讓入闘曇Ii理链显I^^r息个要要•••;生信逐S息息息个!tC生^^统W立i生生f讨*M-、A-S>^HH理□ll统的鑛入«于管泳理链显^«绣学iis管息个要要要出出韩3、、按要求查找学生信息^£&自、5自、5个!C生值151B.8/统_基i生生—■*M-A-S>S>^H理餐的讓入鹰于管it表示查插服计生i
3、链显4^<^统学1管息个要要要出出姓名:王£学号:挂多:擊二釜号:生管理系统*10成缋:6?11^
4、:9012成缋:?8、逐个显示输入学生的信息建立成功!盛功建5Z链奉!帝达输入姓套,学号,成缋:p二1190继续输入学生信息?入>要接荇的操作序号<0-1〉:$次输入姓名,学号,成缋:李四12?8墓否继续输入学生信息?BS息息1个!T-t生统W,lvl学生生生f£1'学学生理對讀入撃管?$-slwt生射链显0«筆翻rnrsKEkJEkJEk/J-lJ-4萃-息个要要要出出r":......息息息个!M^
5、基$生生f讨*m-.a-^s>^h理剩统的讓入撃管洛
6、2囊Iswot生射^:理链显0«统:{于g官息个要要要出出S?;^信逐学ft人信C生^^充狼■VI学卜>拳学学生理尉讓入撃管洛示杳覇计生®显求裘攀翱rnrsKEkJEkJEkzJJJJ自心自心自心吻#<息个要要要出出信逐接棲潼、按要求删除学生信息箭ASM%?>桉质需位置查找输入需要查找类型的序号<1-2〉:俞入要查找学生的名字:£五号:10.繼:6?始删除邊♦生信息7、、逐个显示输入学生的信息nf息息息个11立生生f讨□s:":M-^$t^;^HH理f--f:fr?统的4-x-^^A^t子管ft管1个要要要出、退出学生管理系统!#include7、ream>usingnamespacestd;//实现线性表的链式存储结构的类型定义typeclefintElemtype;#defineOKI;defineERROR-1;structNODE//结点类型(Elemtypeelem;NODE*next;};structLINK_LIST//链表类型(NODE*head;//典型操作的兑法实现//初始化链表LintInitList(LINK_LIST*L)(L->heacl=(NODE*)ma11oc(sizeof(NODE));//为头结点分配存储单元if(L-〉head)(L->head->next=8、NULL;returnOK;}elsereturnERROR;}//销毁链表LvoidDestoryList(LINK_LIST*L)(NODE*p;while(L->head)//依次删除链表中的所有结点{p=L-〉head;L->head=L->head->next;free(p);}}//淸空链表LvoidClearList(LINK_LIST^L)(NODE*p;while(L->head->next){//p指向链农中尖结点后而的第一个结点p=L-〉head-〉next;L->head->next=p->next;//删除p结点free(p);9、//释放p结点占据的存储空间))//求链表L的长度intListLcngth(LINK_LISTL)(NODE*p;intIen;len=();for(p=L.head;p->next!=NULL;p二p-〉ncxt)len++;return(len);)//判链表L空否。intIsEmpty(LINK_LISTL)(if(L.head->next==NULL)returntrue;elsereturnfalse;)//O通过e返回链表L屮第i个数据元索的内容voidGetElem(LINK_LIST*L,inti,Elemtype*e)1NODE*p;10、intj;if(i<111、12、i>ListLength(*L))6*对-1);//检测1值的合理性for(p=L->head,j=O;j!=i;p=p-〉next,j++);p=L->hcad;for(j=0;jelem;//将第i个结点的內容赋给e招针所指向的存储单元屮}//在链表L中检索位为e的数据元尜NODE*LocateELem(LINK_LISTL,Elemtypee)(NODE*p;for(p=L.head->next;p&&p->eleni!=e;p=p->next);//寻找13、满足条件的结点return(p);//返回链表L中结点e的直接前驱结点NODE*
7、ream>usingnamespacestd;//实现线性表的链式存储结构的类型定义typeclefintElemtype;#defineOKI;defineERROR-1;structNODE//结点类型(Elemtypeelem;NODE*next;};structLINK_LIST//链表类型(NODE*head;//典型操作的兑法实现//初始化链表LintInitList(LINK_LIST*L)(L->heacl=(NODE*)ma11oc(sizeof(NODE));//为头结点分配存储单元if(L-〉head)(L->head->next=
8、NULL;returnOK;}elsereturnERROR;}//销毁链表LvoidDestoryList(LINK_LIST*L)(NODE*p;while(L->head)//依次删除链表中的所有结点{p=L-〉head;L->head=L->head->next;free(p);}}//淸空链表LvoidClearList(LINK_LIST^L)(NODE*p;while(L->head->next){//p指向链农中尖结点后而的第一个结点p=L-〉head-〉next;L->head->next=p->next;//删除p结点free(p);
9、//释放p结点占据的存储空间))//求链表L的长度intListLcngth(LINK_LISTL)(NODE*p;intIen;len=();for(p=L.head;p->next!=NULL;p二p-〉ncxt)len++;return(len);)//判链表L空否。intIsEmpty(LINK_LISTL)(if(L.head->next==NULL)returntrue;elsereturnfalse;)//O通过e返回链表L屮第i个数据元索的内容voidGetElem(LINK_LIST*L,inti,Elemtype*e)1NODE*p;
10、intj;if(i<1
11、
12、i>ListLength(*L))6*对-1);//检测1值的合理性for(p=L->head,j=O;j!=i;p=p-〉next,j++);p=L->hcad;for(j=0;jelem;//将第i个结点的內容赋给e招针所指向的存储单元屮}//在链表L中检索位为e的数据元尜NODE*LocateELem(LINK_LISTL,Elemtypee)(NODE*p;for(p=L.head->next;p&&p->eleni!=e;p=p->next);//寻找
13、满足条件的结点return(p);//返回链表L中结点e的直接前驱结点NODE*
此文档下载收益归作者所有