数据结构 - 实验三 - 栈和队列及其应用 联系客服

发布时间 : 星期日 文章数据结构 - 实验三 - 栈和队列及其应用更新完毕开始阅读09fce950690203d8ce2f0066f5335a8102d266a5

实验编号:3 四川师大《数据结构》实验报告 2016年10月29

日 实验三 栈和队列及其应用_

一.实验目的及要求

(1) 掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活

运用它们;

(2) 本实验训练的要点是“栈”的观点及其典型用法;

(3) 掌握问题求解的状态表示及其递归算法,以及由递归程序到非递归程序的转化

方法。

二.实验内容

(1) 编程实现栈在两种存储结构中的基本操作(栈的初始化、判栈空、入栈、出栈

等);

(2) 应用栈的基本操作,实现数制转换(任意进制);

(3) 编程实现队列在两种存储结构中的基本操作(队列的初始化、判队列空、入队

列、出队列);

(4) 利用栈实现任一个表达式中的语法检查(括号的匹配)。 (5) 利用栈实现表达式的求值。 注:(1)~(3)必做,(4)~(5)选做。 三.主要仪器设备及软件

(1) (2)

PC机

Dev C++ ,Visual C++, VS2010等

四.实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页)

(1) 编程实现栈在两种存储结构中的基本操作(栈的初始化、判栈空、入栈、出栈等); A.顺序储存:

代码部分:

栈\

cout << \ 2.出栈\ cout << \ 3.判栈空\ cout << \ 4.返回栈顶部数据\ cout << \ 5.栈长\ cout << \ 0.退出系统\

}

cout << \你的选择是:\

链式储存:

代码部分:

栈\

cout<<\——————2.出栈\ cout<<\——————3.得到顶部数据\ cout<<\——————4.判断栈是否为空\ cout<<\——————5.输出栈的长度\ cout<<\——————0.退出程序\ cout<<\你的选择是:\ cin>>select; switch (select){ case 0:break; case 1:

cout<<\ cin>>e; if(push(L,e)){

}

}

}

cout<<\

else cout<<\ break;

case 2:

if(pop(L,e)){

cout<<\

else cout<<\ break;

case 3:

if(GetTop(L,e)){

cout<<\

else cout<<\ break;

case 4:

if(StackEmpty(L)){

cout<<\

else cout<<\ break;

case 5: }

cout<<\ break;

1.

过用工程将文

件分类后还是清晰简单了些.也方便修改.

注:实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格。