C语言链表实现学生成绩信息的管理.doc
- 文档编号:1219302
- 上传时间:2023-04-30
- 格式:DOC
- 页数:8
- 大小:17KB
C语言链表实现学生成绩信息的管理.doc
《C语言链表实现学生成绩信息的管理.doc》由会员分享,可在线阅读,更多相关《C语言链表实现学生成绩信息的管理.doc(8页珍藏版)》请在冰点文库上搜索。
/*----------------------------------------------
//Student.cpp:
链表实现对学生成绩的管理
------------------------------------------------*/
#include
#include
#include
usingnamespacestd;
structStudent
{
intid;
char*name;
floatscore;
Student*next;
};
Student*Create();
Student*Create(inti,char*ch,floatsc);
voidInsert(Student*h,Student*p);
voidOutput(Student*h);
Student*Search(Student*h,constintid);
voidDelete(Student*h,Student*p);
intmain(intargc,char*argv[])
{
Student*head,*p;
head=Create();
p=Create(1,"a",83);
Insert(head,p);
p=Create(2,"b",97);
Insert(head,p);
p=Create(3,"c",64);
Insert(head,p);
p=Create(4,"d",76);
Insert(head,p);
p=Create(5,"e",83);
Insert(head,p);
Output(head);
p=Search(head,2);
Delete(head,p);
Output(head);
return0;
}
Student*Create()
{
Student*head;
head=(Student*)malloc(sizeof(Student));
head->next=NULL;
returnhead;
}
Student*Create(inti,char*ch,floatsc)
{
Student*p;
p=(Student*)malloc(sizeof(Student));
p->id=i;
p->name=ch;
p->score=sc;
p->next=NULL;
returnp;
}
voidInsert(Student*h,Student*p)
{
/*
Student*cur;
cur=h;
while(cur->next!
=NULL)
{
cur=cur->next;
}
cur->next=p;
*/
if(h->next==NULL)
{
h->next=p;
}
else
{
Student*cur,*q;
for(q=h->next;q!
=NULL;q=q->next)
{
if(q->id>p->id)
break;
}
for(cur=h;cur->next!
=q;cur=cur->next);
if(q==NULL)
{
cur->next=p;
}
else
{
p->next=q;
cur->next=p;
}
}
}
voidOutput(Student*h)
{
if(h->next==NULL)
{
cout<<"链表为空!
"< } else { cout<<"\t"<<"id" <<"\t"<<"name" <<"\t"<<"score"< Student*cur; cur=h->next; while(cur! =NULL) { cout<<"\t"< <<"\t"< <<"\t"< cur=cur->next; } } } Student*Search(Student*h,constintid) { if(h->next==NULL) { cout<<"链表为空,不能查找! "< returnNULL; } else { Student*cur; cur=h->next; while(cur! =NULL) { if(id==cur->id) break; cur=cur->next; } if(cur==NULL) { cout<<"没有找到! "< } returncur; } } voidDelete(Student*h,Student*p) { if(h->next==NULL) { cout<<"链表为空,不能删除! "< } else { Student*cur; cur=h->next; while(cur->next! =p) { cur=cur->next; } cur->next=p->next; p=NULL; free(p); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实现 学生 成绩 信息 管理