数据结构实验源代码Word下载.doc
- 文档编号:14180797
- 上传时间:2022-10-19
- 格式:DOC
- 页数:62
- 大小:460KB
数据结构实验源代码Word下载.doc
《数据结构实验源代码Word下载.doc》由会员分享,可在线阅读,更多相关《数据结构实验源代码Word下载.doc(62页珍藏版)》请在冰豆网上搜索。
10000003
男
27
计29
一般
安弥邵
10000001
女
28
计43
能纸垄
10000005
18
计11
健康
宰觅
10000002
23
计79
宓顽芳
10000004
20
计17
健康
提示:
循环表
62
#include<
string.h>
#include<
ctype.h>
malloc.h>
//malloc()等
limits.h>
//INT_MAX等
stdio.h>
//EOF(=^Z或F6),NULL
stdlib.h>
//atoi()
io.h>
//eof()
math.h>
//floor(),ceil(),abs()
process.h>
//exit()
//函数结果状态代码
#defineTRUE1
#defineFALSE0
#defineOK1
#defineERROR0
#defineINFEASIBLE-1
//#defineOVERFLOW-2因为在math.h中已定义OVERFLOW的值为3,故去掉此行
typedefintStatus;
//Status是函数的类型,其值是函数结果状态代码,如OK等
typedefintBoolean;
//Boolean是布尔类型,其值是TRUE或FALSE
structstud
{
charname[12];
charnum[12];
charsex[4];
intage;
charclas[10];
charhealth[16];
};
typedefstudElemType;
typedefstructLNode
ElemTypedate;
structLNode*next;
}LNode,*LinkList;
voidCreateList2(LinkList&
L,intn)
{//正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表
inti;
LinkListp,q;
L=(LinkList)malloc(sizeof(LNode));
//生成头结点
q=L;
scanf("
%s%s%s%d%s%s"
L->
date.name,L->
date.num,L->
date.sex,&
L->
date.age,L->
date.clas,L->
date.health);
for(i=1;
i<
n;
i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("
p->
date.name,p->
date.num,p->
p->
date.age,p->
date.clas,p->
q->
next=p;
q=q->
next;
}
p->
next=L;
}
voidrun(LinkListL,intm)
{
inti;
LinkListp,q;
p=L;
while(p)
{
for(i=1;
m;
{
q=p;
p=p->
}
printf("
%s%s%s%d%s%s\n"
date.sex,p->
q->
next=p->
free(p);
p=q->
if(p==p->
next)
{
break;
}
}
printf("
%s%s%s%d%s%s"
\n"
);
free(p);
//要将P释放掉,应为在前面L已经被释放掉
intmain()
intn,m;
LinkListLa;
学生信息管理
用链式存储结构实现对一个班级学生信息管理。
设计程序求出每个人的平均成绩并按平均成绩由高到底排序后输出学生记录。
人数n
学号姓名成绩1
成绩2
成绩3)
人员记录x
1
人员记录y
2
…
人员记录z
n
3
1孙俪莉
76
78
89
2章子怡
72
56
67
3刘德华
84
90
76
78
89
81.00
3刘德华56
84
90
76.67
2章子怡72
67
65.00
#defineMaxSize1000
typedefstructStudent
longnum;
charname[10];
floatscore_1;
floatscore_2;
floatscore_3;
floatave_score;
longrank;
}StudentType;
typedefStudentTypeDataType;
typedefstructNode
DataTypedata;
structNode*next;
}SLNode;
voidListInitiate(SLNode**L)
if((*L=(SLNode*)malloc(sizeof(SLNode)))==NULL)exit
(1);
(*L)->
next=NULL;
}
intListInsert(SLNode*L,inti,DataTypex)
SLNode*p,*q;
intj;
p=L;
j=0;
while(p->
next!
=NULL&
&
j<
i-1)
p=p->
j++;
if(j!
=i-1)
printf("
error"
return0;
if((q=(SLNode*)malloc(sizeof(SLNode)))==NULL)exit
(1);
q->
data=x;
p->
next=q;
return0;
voidRanking(SLNode*L)
SLNode*p,*q,*s;
longi=0;
=NULL)
p->
data.ave_score=(p->
data.score_1+p->
data.score_2+p->
data.score_3)/3;
i++;
while(i--)
p=L;
s=p;
q=p->
while(p->
{
if(p->
data.ave_score<
q->
data.ave_score)
{
if(q->
p->
next=q->
else
q->
s->
q=p->
s=s->
}
else//后移
s=p;
p=p->
}
i=1;
data.rank=i++;
voidDestroy(SLNode**L)
SLNode*p,*p1;
p=*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 源代码
![提示](https://static.bdocx.com/images/bang_tan.gif)