学生成绩管理系统 - 数据结构上机实验报告Yangtze(3)

2019-01-27 10:25

}

int main() {

int selectnum;

LinkList *head = NULL;

head = createLinkList(head); while(1) { selectnum = menu(); switch(selectnum) { case 1: { inputData(head); break; } case 2: { searchScore(head); break; } case 3: { modifyScore(head); break; } case 4: { outputData(head); break; } case 5: { remove(head); break; } case 6: { count(head); break; } case 7: {

}

}

}

average(head); break; }

case 8: { exitSys(); break; }

5.实验结果:

实验总结:

单链表相对于顺序链表,插入和删除更加方便,而且不需要考虑存储空间的大小

问题,但是频繁的读取和数据的查找不甚便捷。

软件学院上机实验报告

备注:学生应根据实验的要求,设计一个实验过程(包括程序代码、各种定义说明),并根据实验的结论及实验过程中出现的情况(错误、异常等)得出的体会。要求学生每人一台计算机,独立完成实验的全过程。

实验题目: 栈的应用 实验目的: 1.了解栈的性质

2.掌握栈的顺存储结构 3.掌握栈的实际应用

4.学会使用递归方式编程 实验要求: 1.栈的抽象数据类型 2.举一个栈的后进先出的例子 3.顺序栈的定义

4.顺序栈基本操作的实现 5.栈的应用 6.递归的使用 7.实验结果 实验内容:

1. 栈的抽象数据类型

ADT 栈(stack) Data 同线性表,元素具有相同的类型,是相邻元素具有前驱和后继关系。 Operation InitStack(*S):初始化操作,建立一个空栈S。 DestroyStack(*S):若栈存在,则销毁它。 ClearStack(*S):将栈清空。 StackEmpty(S):若栈为空,返回ture,否则返回false。 GetTop(S,*e):若栈存在且非空,用e返回S的栈顶元素。 Push(*S,e):若栈S存在,插入新元素e到栈S中并成为栈顶元素。 Pop(*S,*e):删除栈S中栈顶元素,并用e返回其值。 StackLength(S):返回栈S的元素个数。 endADT 2. 举一个栈的后进先出的例子

例如弹夹式手枪,子弹先填装,后出来;后填装,先出来。

3. 顺序栈的定义

Typedef int SElemType; /*SElemType 类型根据实际情况而定,这里假设为int*/ {

SElemType data[MAXSIZE];

Int top; /*用于栈顶指针*/ }SqStack;

4. 顺序栈基本操作的实现

1) 对于进展操作Push,其代码如下:

/*插入元素e为新的栈顶元素*/

Status Push(SqStack *S, SElemType e) {

If(S->top==MAXSIZE-1) /*栈满*/ {

return ERROR; }

S->top++; /*栈顶指针增加一*/

S->data[S->top]=e; /*将新插入元素赋值给栈顶空间*/ return OK; }

2) 对于出栈操作Pop,代码如下:

/*若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR*/

Status Pop (SqStack *S,SElemType *e) {

If(S->top==-1)

return ERROE; *e=S->data[S->top]; S->top--; return OK; }


学生成绩管理系统 - 数据结构上机实验报告Yangtze(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:黑龙江虎林八五零农场学校人教七级上册英语教学案:unit-教学案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: