1 / 33
文档名称:

数据结构 实验三 栈和队列及其应用.doc

格式:doc   大小:362KB   页数:33页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构 实验三 栈和队列及其应用.doc

上传人:tswng35 2021/12/20 文件大小:362 KB

下载得到文件列表

数据结构 实验三 栈和队列及其应用.doc

文档介绍

文档介绍:. .
-优选
实验编号:3师大"数据构造"实验报告2016年10月29日
实验三栈和队列及其应用_
实验目的及要求
掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活运用它们;
本实验训练的要点是"栈〞的观点及其典型用法;
掌握问题求解的状态表示及其递归算法,以及由递归程序到非递归程序的转化方法。
实验容
编程实现栈在两种存储构造中的根本操作〔栈的初始化、判栈空、入栈、出栈等〕;
应用栈的根本操作,实现数制转换〔任意进制〕;
编程实现队列在两种存储构造中的根本操作〔队列的初始化、判队列空、入队列、出队列〕;
利用栈实现任一个表达式中的语法检查〔括号的匹配〕。
利用栈实现表达式的求值。
注:〔1〕~〔3〕必做,〔4〕~〔5〕选做。
主要仪器设备及软件
〔1〕 PC机
〔2〕 Dev C++ ,Visual C++, VS2010等
实验主要流程、根本操作或核心代码、算法片段〔该局部如不够填写,请另加附页〕
编程实现栈在两种存储构造中的根本操作〔栈的初始化、判栈空、入栈、出栈等〕;

代码局部:
//:
#include""
int main()
{
SqStack S;
SElemType e;
int elect=1;
. .
-优选
InitStack(S);
cout << "已经创立一个存放字符型的栈" << endl;
while (elect)
{
Muse();
cin >> elect;
cout << endl;
switch (elect)
{
case 1:
cout << "input data:";
cin >> e;
Push(S, e);
break;
case 2:
if(Pop(S, e))
{cout << e <<" is pop"<< endl; }
else{cout<<"blank"<<endl;}
break;
case 3:
if (StackEmpty(S))
{
cout << "栈空 " << endl;
}
else
{
cout << "栈未空 " << endl;
}
break;
case 4:
. .
-优选
GetTop(S, e);
cout << "e is " << e << endl;
break;
case 5:
StackLength(S);
break;
case 0:break;
}
}
DestroyStack(S);
return OK;
}
//:
#include""
//输出菜单
void Muse()
{
cout << "请选择功能:" << endl;
cout << " " << endl;
cout << " " << endl;
cout << " " << endl;
cout << " " << endl;
cout << " " << endl;