电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构栈和队列

数据结构栈和队列_第1页
1/7
数据结构栈和队列_第2页
2/7
数据结构栈和队列_第3页
3/7
实验二 栈与队列一、实验目得1、掌握栈得特点(先进后出FILO)及基本操作,如入栈、出栈等,栈得顺序存储结构与链式存储结构,以便在实际问题背景下灵活应用。2、掌握队列得特点(先进先出FIFO)及基本操作,如入队、出队等,队列顺序存储结构、链式存储结构与循环队列得实现,以便在实际问题背景下灵活应用。二、实验内容1、顺序栈得实现与运算;2、循环队列得实现与运算;3、栈得运用—十进制转八进制运算。三、实验要求1、学生用C++/C完成算法设计与程序设计并上机调试通过;2、撰写实验报告,提供实验测试数据与实验结果;3、分析算法,要求给出具体得算法分析结果,包括时间复杂度与空间复杂度,并简要给出算法设计小结与心得。四、实验准备1、掌握栈与队列这两种抽象数据类型得特点,并能在相应得应用任务中正确选用它们;2、熟练掌握顺序栈与循环队列得基本操作实现算法,特别应注意栈满与栈空得条件以及它们得描述方法,循环队列中队满与队空得描述方法。3、在学习顺序栈得基本操作实现算法时,应注意:在书上给出得结构定义就是采纳了一种动态管理方式(不够时,可以再分配),但在C 语言中,用数组来存储顺序栈,就是静态分配,即不能随机分配空间,这点易引起大家得误解。五、实验步骤1、编程实现顺序栈得各种基本运算,并在此基础上设计一个主程序,完成如下功能:(1)初始化顺序栈;(2)给定一个元素,将此元素压入此栈中;(3)将栈顶一个元素弹出此栈。2、编写一个程序实现循环队列得各种基本运算,并在此基础上设计一个主程序,完成如下功能:(1)初始化循环队列;(2)给定一个元素,将此元素插入此队列中;(3)将队头一个元素出队。3、栈得运用实例 十进制转八进制。六、实验参考代码1、顺序栈得实现与运算;#include #include #define OK 1#define ERROR 0#define OVERFLOW 2typedef int ElemType;typedef int Status;// 栈得顺序存储表示 #define STACK_INIT_SIZE 100 // 存储空间得初始分配量#define STACKINCREMENT 10 // 存储空间得分配增量typedef struct {ElemType *base;ElemType *top;int stacksize;} SqStack;// 构造一个空栈SStatus InitStack(SqStack &S){S、base = (ElemType *)malloc(STACK_INIT_SIZE * sizeof(ElemType));if(!S、base) exit (OVERFLOW);S、top = S、base;S、stacksize = STACK_INIT_SIZE;return OK;}// 判栈S就是否为空栈Status StackEmpty(SqStack S){if (S、top==S、base) ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构栈和队列

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部