欢迎来到天天文库
浏览记录
ID:33412839
大小:55.52 KB
页数:4页
时间:2019-02-25
《学生信息的链表管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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
此文档下载收益归作者所有