【电大本科数据结构实验报告】栈和队列的基本操作.doc
《【电大本科数据结构实验报告】栈和队列的基本操作.doc》由会员分享,可在线阅读,更多相关《【电大本科数据结构实验报告】栈和队列的基本操作.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验报告(学科:数据结构)姓名_单位_班级_实验名称:2.1 栈和队列的基本操作【问题描述】编写一个算法,输出指定栈中的栈底元素,并使得原栈中的元素倒置。【基本要求】(1)正确理解栈的先进后出的操作特点,建立初始栈,通过相关操作显示栈底元素。(2)程序中要体现出建栈过程和取出栈底元素后恢复栈的入栈过程,按堆栈的操作规则打印结果栈中的元素。【实验步骤】(1)建立顺序栈SeqStack,存放测试数据;建立队列SeqQueue存放出栈数据;(2)建立InitStack、StackEmpty、StackFull、Pop、Push、GetTop函数用作顺序栈的基本操作;(3)建立InitQueue、QE
2、mpty、Qfull、InQueue、OutQueue、ReadFront函数用作队列的基本操作;(4)建立主函数依次按序对子函数进行操作:InitStack初始化栈Push压入数据InitQueue初始化队列Pop弹出数据InQueue存入队列OutQueue出队列Push压入栈Pop弹出数据free清空栈与队列。在数据的输入与数据的输出时提供必要的提示信息。(5)使用Visual Studio C+ 2005语言环境进行调试,源代码P202-2-1.cpp通过编译生成目标文件P202-2-1.obj,运行可执行文件:实验2-2-1.exe测试通过。【源代码】#include stdio.h
3、#include stdlib.h#define MaxSize 8typedef int ElemType;/*顺序栈的类型定义*/struct SeqStack ElemType dataMaxSize; int top; ;struct SeqStack * s;/*顺序队列的类型定义*/struct SeqQueue ElemType dataMaxSize; int front,rear;struct SeqQueue * sq;/*栈的基本运算*/*初始化栈操作*/void InitStack(struct SeqStack * s) s-top=-1;/*判断栈空操作*/int
4、StackEmpty(struct SeqStack * s) if(s-top=-1) return(1); elsereturn(0);/*判断栈满操作*/int StackFull(struct SeqStack * s) if(s-top=MaxSize-1) return(1); else return(0);/*压栈操作*/void Push(struct SeqStack *s,ElemType x) if(s-top=MaxSize-1) printf(栈满溢出错误!n); exit(1); s-top+; s-datas-top=x;/*弹栈操作*/ElemType Pop(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电大本科数据结构实验报告 电大 本科 数据结构 实验 报告 队列 基本 操作
限制150内