下载此文档

栈的表示与实现及栈的应用实验报告.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
实验二:栈的表示与实现及栈的应用
【实验目的】
掌握栈的顺序存储结构及其基本操作的实现。
掌握栈后进先出的特点,并利用其特性在解决实际问题中的应用。
掌握用递归算法来解决一些问题。
【实验内容】
编写程序,对于输入的任意一个非负十进制整数,输出与其等值的八进制数。
编写递归程序,实现N!的求解。
编写递归程序,实现以下函数的求解。
编写程序,实现Hanoi塔问题.
【实验步骤】
++。
:点File—〉New,选Project标签,在列表中选Win32 Console Application,再在右边的框里为工程起好名字,选好路径,点OK-〉finish。至此工程建立完毕。
3。创建源文件或头文件:点File->New,选File标签,在列表里选C++ Source File。给文件起好名字,选好路径,。
4.写好代码
5.编译->链接->调试
1、#include 〈stdio。h〉
#include <stdlib。h〉
#include <〉
#define OK 1
#define ERROR 0
#define OVERFLOW —2
typedef int Status;
typedef int SElemType;
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct

SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack &S){
S。base=(SElemType *)malloc (STACK_INIT_SIZE*sizeof(SElemType));
if (!S。base) return OVERFLOW;
S。top=S。base;
=STACK_INIT_SIZE;
return OK;
}//InitStack
Status Push(SqStack &S, SElemType e){
if (—S。base〉=S。stacksize)
{
S。base=(SElemType *)realloc(,(+STACKINCREMENT) *sizeof(SElemType));
if (!S。base) exit(OVERFLOW);
S。top=S。base+;
S。stacksize+=STACKINCREMENT;
}
*++=e;
return OK;
} //PUSH
Status Pop(SqStack &S, SElemType &e)
{
if(S。top==)
return

栈的表示与实现及栈的应用实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人taotao0c
  • 文件大小37 KB
  • 时间2021-04-17