文档详情

实验31实现顺序栈各种基本运算的算法.doc

发布:2017-04-19约字共3页下载文档
文本预览下载声明
PAGE 3 实验三 实现顺序栈各种基本运算的算法 1.实验目的 (1)掌握栈的定义、出入栈的方法及基本操作。 (2)掌握将算法在VC++6.0语言环境下实现的过程。 2.实验准备 (1)复习栈的定义,掌握出入栈的方法及操作。 (2)复习C语言中数组及结构体的概念、定义方式。 (3)实验的计算机中安装了Microsoft VC++ 6.0。 3.实验内容与要求 编写一个控制台程序实现顺序栈的各种基本运算,并在此基础上设计一个主程序完成如下功能: 初始化栈s。 判断栈s是否非空。 依次进栈元素a,b,c,d,e。 判断栈s是否非空。 输出栈长度。 输出从栈顶到栈底的元素。 输出出栈序列。 判断栈s是否非空。 释放栈。 下列是上述程序部分代码,部分函数未实现。补充完成下列程序。 #include stdio.h #include malloc.h #define MaxSize 100 typedef char ElemType; typedef struct { ElemType elem[MaxSize]; int top; /*栈指针*/ } SqStack; void InitStack(SqStack *s)///初始化栈s { s=(SqStack *)malloc(sizeof(SqStack)); s-top=-1; } void ClearStack(SqStack *s)///释放栈s { } int StackLength(SqStack *s)///求栈s长度 { } int StackEmpty(SqStack *s)///判断栈s是否为空栈 { } int Push(SqStack *s,ElemType e)///进栈元素e { return 1; } int Pop(SqStack *s,ElemType e)///出栈一个元素 { return 1; } int GetTop(SqStack *s,ElemType e)///取栈顶元素 { return 1; } void DispStack(SqStack *s)///从栈顶到栈底输出元素 { } //////////////////////////////////////////////////// #include stdio.h #include malloc.h #define MaxSize 100 typedef char ElemType; typedef struct { ElemType elem[MaxSize]; int top; /*栈指针*/ } SqStack; extern void InitStack(SqStack *s); extern void ClearStack(SqStack *s); extern int StackLength(SqStack *s); extern int StackEmpty(SqStack *s); extern int Push(SqStack *s,ElemType e); extern int Pop(SqStack *s,ElemType e); extern int GetTop(SqStack *s,ElemType e); extern void DispStack(SqStack *s); void main() { ElemType e; SqStack *s; printf((1)初始化栈s\n); InitStack(s); printf((2)栈为%s\n,(StackEmpty(s)?空:非空)); printf((3)依次进栈元素a,b,c,d,e\n); Push(s,a); Push(s,b); Push(s,c); Push(s,d); Push(s,e); ClearStack(s); }
显示全部
相似文档