学生信息的链表管理

学生信息的链表管理

ID:33412839

大小:55.52 KB

页数:4页

时间:2019-02-25

学生信息的链表管理_第1页
学生信息的链表管理_第2页
学生信息的链表管理_第3页
学生信息的链表管理_第4页
资源描述:

《学生信息的链表管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include#include#includeusingnamespacestd;structstud_node{charnum[20];charname[20];intscore;structstud_node*next;//定义结构指针};structstud_node*InsertDoc(structstud_node*head,structstud_node*stud)//插入操作。{structstud_node*ptr,*ptrL*ptr2;//struct是定义结构体用的关键字,定义了一个类型为stud的结构体,no

2、de是stud的一个对象,*ptr,*ptrl,*ptr2是结构体的指针ptr2=head;//定义ptr2为头结点ptr=stud;//ptr指向待插入的新的学生记录结点if(head==NULL){〃如果头结点为空head二ptr;〃头结点为新的学生记录结点head->next=NULL;〃头结点指向后继后等于空}else{〃若头结点不为空while((ptr->num>ptr2->num)&&ptr2・>next!=NULL){〃当ptr指向的学生学号记录多于ptr2指向的学生学号记录且ptr2指向后继不为空吋ptrl=ptr2;//ptrl结点赋予ptr2的学牛•记录结点ptr2

3、=ptr2->next;//ptr2等于ptr2指向后继}if(ptr->num<=ptr2->num){〃如果ptr指向的学生学号记录不多于ptr2指向的学生学号记录if(head==pt⑵head=ptr;〃且如果头结点二ptr2的信息,头结点为ptr2的学生记录结点elseptrl->next=ptr;//否则ptrl的记录指向后继后=ptrptr->next=ptr2;//ptr的信息指向后继后等于ptr2}else{〃否则ptr2->next=ptr;//ptr2指向后继JS=ptrptr->next=NULL;//ptr指向后继后为空}}retumhead;//插入记录返冋头

4、结点1structstud_node*DeleteDoc(structstud_node*head,char*num)//删除操作。{structstud_node*ptrl,*ptr2;//定义链表结构体指针ptrl,ptr2if(strcmp(num,"0")!=0){while(head!=NULL&&strcmp(head->num,iwm)二二0){〃当头结点不为空且头结点指向num与传人num相同时ptr2=head;〃将ptr2定义头结点head=head->next;〃头结点变为下一个结点free(ptr2);〃释放malloc函数帮ptr2申请的动态内存}if(head

5、==NULL)//如果头结点为空returnNULL;//返回空值ptrl=head;//ptrl等于头结点ptr2=head->next;//ptr2等于头结点的下一个结点while(ptr2!=NULL){〃当ptr2不为空时(pt「2未指向所有元素)if(strcmp(ptr2->num,num)==0){//与传人num进行比较ptr1->next=ptr2->next;//ptrl指向后继等于ptr2指向后继free(ptr2);〃释放malloc函数帮ptr2屮请的动态内存1else//若头结点不为空ptrl=ptr2;〃否贝I]ptrl等于ptr2ptr2=ptrl->ne

6、xt;//ptr2=ptr1指向后继}}returnhead;//ftl息返冋链表头结点}voidUpdateDoc(structstud_node*head,char*num,intscore)//修改链表。{structstud_node*ptr;〃定义链表结构体指针ptrptr=head;〃ptr=头结点while(ptr!=NULL){〃当ptr不为空时if(strcmp(ptr->num,num)==O){〃如果号码对了ptr->score=score;//ptr指向链表成绩记录等于传人的成绩记录ptr=ptr->next;//ptr等于ptr指向后继}elseptr=ptr-

7、>next;//否则ptr直接指向后继I}voidPrint_Stu_Doc(structstud_node*head)//遍历操作。{structstud_node*ptr;//定义链表结构体指针ptrif(head==NULL){〃若头结点为空cout«endl«"没有记录!”vvendl;〃输出没有记录return;〃空return}cout«endl«H这些学生的信息为:"«endl;cout«°学号姓名成绩M«endl;f

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

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

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