- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构栈的定义及基本操作
北京理工大学珠海学院实验报告
ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY
班级 软件工程3班 学号 150202102309 姓名 郭荣栋
指导教师 余俊杰 成绩
实验题目 栈的实现与应用 实验时间
一、实验目的、意义
(1)理解
(2)掌握进栈、出栈、清栈运算的实现方法
三、实验结果及分析
(所输入的数据及相应的运行结果,运行结果要有提示信息,运行结果采用截图方式给出。)
四、程序清单(包含注释)
1、2.
#includeiostream
#includecmath
#includestdlib.h
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXSIZE 100
#define INCREASEMENT 10
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int SElemType;
typedef int Status;
typedef struct{
SElemType *base;
SElemType *top;
int stacksize;
}Sqstack;
void StackTraverse(Sqstack S)
{
while (S.top != S.base)
{
cout *(S.top-1) endl;
S.top--;
}
}
Status InitStack(Sqstack S){
S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!S.base){
exit(OVERFLOW);
}
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
Status GetTop(Sqstack S, SElemType e)
{
if (S.top == S.base)
return ERROR;
e = *(S.top - 1);
couteendl;
cout The stack is: endl;
StackTraverse(S);
return OK;
}
Status push(Sqstack S,SElemType e){
if(S.top-S.base=S.stacksize)
{
S.base=(SElemType*)realloc(S.base,(INCREASEMENT+S.stacksize)*sizeof(SElemType));
if(!S.base)
exit(OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}
Status Pop(Sqstack S, SElemType e)
{
if (S.base == S.top)
return ERROR;
e = *--S.top;
return OK;
}
Status StackEmpty(Sqstack S)
{
return (S.top == S.base);
}
void main()
{
Sqstack S;
int a,b,e;
InitStack(S);
printf(请键入栈的十进制数值:);
cina;
while(a)
{
push(S,a%16);
a=a/16;
}
printf(此时栈顶元素为:);
GetTop(S,e);
printf(转换为十六进制数为:);
while(!StackEmpty(S))
{
Pop(S,b);
printf(%x,b);
}
printf(\n);
system(pause);
}
3.#includeiostream
#includestdio.h
#includemalloc.h
#includestdlib.h
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW 0
#define STACK
文档评论(0)