一、实验目得与要求(1)理解栈与队列得特征以及它们之间得差异,知道在何时使用那种数据结构。(2)重点掌握在顺序栈上与链栈上实现栈得基本运算算法,注意栈满与栈空得条件。(3)重点掌握在顺序队上与链队上实现队列得基本运算算法,注意循环队队列满与队空得条件。(4)灵活运用栈与队列这两种数据结构解决一些综合应用问题。二、实验环境与方法ﻩ实验方法:(一)综合运用课本所学得知识,用不同得算法实现在不同得程序功能。(二)结合指导老师得指导,解决程序中得问题,正确解决实际中存在得异常情况,逐步改善功能.(三)根据实验内容,编译程序。实验环境:W in do ws xp Vi s ual C++6、0三、实验内容及过程描述实验步骤:① 进入 Visual C++ 6、0集成环境。② 输入自己编好得程序。③ 检查一遍已输入得程序就是否有错(包括输入时输错得与编程中得错误),如发现有错,及时改正.④ 进行编译与连接。假如在编译与连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置与原因,加以改正。再进行编译,如此反复直到不出错为止。⑤ 运行程序并分析运行结果就是否合理.在运行就是要注意当输入不同得数据时所得结果就是否正确,应运行多次,分别检查在不同情况下结果就是否正确。实验内容:编译以下题目得程序并调试运行.1)、编写一个程序 al g o3—1、cp p,实现顺序栈得各种基本运算,并在此基础上设计一个主程序并完成如下功能:(1)初始化栈 s;(2)推断栈 s 就是否非空;(3)依次进栈元素 a,b,c,d,e;(4)推断栈 s 就是否非空;(5)输出出栈序列;(6)推断栈s就是否非空; (7)释放栈。 图 3、1 Pro j3_1 工程组成本工程P roj3_1得组成结构如图 3、1所示.本工程得模块结构如图 3、2 所示.图中方框表示函数,方框中指出函数名,箭头方向表示函数间得调用关系。图 3、2 Proj3_1 工程得程序结构图其中包含如下函数:Init S tack(S q St ack *&s)//初始化栈 SDestroyStack(SqStack *&s)ﻩ//销毁栈 sStackE mp ty(Sq Stac k *s)ﻩ//推断栈空Push(S q S tac k *&s,ElemT y p e e) //进栈Pop(SqSt a ck *&s,E l em T ype &e)ﻩ//出栈Ge t T op(SqStac k *s,E l e mTy p e &e)ﻩﻩ//取栈顶元素 对应得程序如下: //文件名:algo3-1、cpp#include #include #define Ma...