软件技术基础栈,队列,二叉树的应用教程
软件技术基础相关实验
实验名称: 栈的应用
一、实验目的:
掌握顺序栈和链式栈的定义和运算,了解它们的应用。
二、实验要求:
1、掌握顺序栈的定义、特点及常见算法。
2、掌握链式栈的定义、特点及常见算法。
3、参照给定的栈的程序样例,验证给出的栈的常见算法。
4、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1、顺序栈的操作和测试。要求:
设计一个主函数实现对顺序栈进行操作测试。测试方法为:依次把数据元素1,3,5,7,9入栈,并显示入栈结果;接着依次出栈其中的数据元素并在屏幕上显示。
2、链式栈的操作。
设计一个主函数实现对链式栈进行操作测试。测试方法为:依次把数据元素3,6,9,12,15入栈,并显示入栈结果;接着依次出栈其中的数据元素并在屏幕上显示。
3、栈的应用。利用顺序栈求解表达式(a+b)*(c-d)的值。
四、程序要求:
1、顺序栈的长度自行确定。
2、重点理解栈的算法思想,能够根据实际情况选择合适的存储结构。
3、写出完整的程序并能调试通过。
五、实验结果:
入栈一个元素:
删除一个元素:
取栈顶元素:
退出
六、实验中遇到的问题及解决方法:
栈的操作有了前面的基础,相对而言能够编写出来,遇到的问题还是地址操作相关的,通过不断的练习对于指针对于地址传递应该说有了比较好的理解。
附:源程序(自行编写或修改的程序。若为修改程序请注明修改部分的功能,若为书上实例则可不附。)
#include stdio.h
#includestdlib.h
#includestring.h
#define MAXNUM 20
#define ElemType int
/*定义顺序栈的存储结构*/
typedef struct
{ ElemType stack[MAXNUM];
int top;
}SqStack;
/*初始化顺序栈*/
void InitStack(SqStack *p)
{
if(!p)
printf(内存分配失败!);
p-top=-1;
}
/*入栈*/
void Push(SqStack *p,ElemType x)
{
if(p-topMAXNUM-1)
{
p-top=p-top+1;
p-stack[p-top]=x;
}
else
printf(Overflow! \n);
}
/*出栈*/
ElemType Pop(SqStack *p)
{
ElemType x;
if(p-top=0)
{
x=p-stack[p-top];
printf(以前的栈顶数据元素%d已经被删除! \n,p-stack[p-top]);
p-top=p-top-1;
return x;
}
else
{
printf(Underflow! \n);
return(0);
}
}
/*获取栈顶元素*/
ElemType GetTop(SqStack *p)
{
ElemType x;
if(p-top=0)
{
x=p-stack[p-top];printf(\n栈顶元素为:%d\n,x);
return x;
}
else
{
printf(Underflow! \n);
return 0;
}
}
/*遍历顺序栈*/
void OutStack(SqStack *p)
{
int i;
printf(\n);
if(p-top0)
printf(这是一个空栈!);
printf(\n);
for(i=p-top;i=0;i--)
printf(第%d个数据元素是:%6d\n,i,p-stack[i]);
}
/*主函数*/
void main()
{
SqStack *q;
int cord;ElemType a;
printf(第一次使用必须初始化! \n);
do{
printf(\n-----------主菜单----------- );
printf(\n 1 初始化顺序栈 );
printf(\n 2 插入一个元素 );
printf(\n 3 删除栈顶元素 );
printf(\n 4 取栈顶元素 );
printf(\n 5
您可能关注的文档
最近下载
- RB308A-rev1.7-晶准-恒佳盛一级代理.pdf VIP
- 小学奥数 较复杂的乘法原理.pdf VIP
- 2024年陕西省中考数学真题(学生版+解析版).docx
- 小学奥数 加乘法原理.docx VIP
- 2025烟台南山学院单招《数学》复习提分资料(含答案详解).docx VIP
- 湖南省湘一名校2026届高三上学期12月质量检测物理试卷(含答案).pdf VIP
- 2025年上海高考数学二轮复习:热点题型4 统计与概率(六大题型)原卷版+解析.pdf VIP
- WordExcel2010中文版办公专家从入门到精通.pdf VIP
- 新教材人教A版高中数学选择性必修第三册习题答案.docx VIP
- 专题08 古诗鉴赏(解析版)备战2024年中考语文真题题源解密(全国通用.docx VIP
原创力文档

文档评论(0)