1 / 6
文档名称:

数据结构实验报告(C语言)栈的基本操作.doc

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

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

分享

预览

数据结构实验报告(C语言)栈的基本操作.doc

上传人:63229029 2017/4/23 文件大小:67 KB

下载得到文件列表

数据结构实验报告(C语言)栈的基本操作.doc

文档介绍

文档介绍:计算机科学与技术系实验报告专业名称计算机科学与技术课程名称数据结构与算法项目名称栈的基本操作班级计科一班学号姓名实验日期格式要求实验报告注意格式规范, 要求在 word 中编写, 文中不要有空行, 统一使用 A4 页面。页边距:上 、下 2cm 、左 、右 2cm 。标题:宋体、四号字、加粗、 倍行距。正文:宋体、小四号字、 倍行距。一、实验目的与要求: (一)实验目的 1 .掌握栈的抽象数据类型。 2 .掌握实现栈的各种操作的算法。 3 .理解栈与递归的关系。(二)实验要求 1 .用C描述栈的每种操作在顺序栈或链栈上的实现。 2. 将建栈、初始化栈、判断栈是否非空、求栈的长度、输出从栈顶到栈底的元素分别定义为 5个子函数,通过主函数实现对上述子函数的调用。 3. 输入数据:数据域( data )设定为整型。二、实验方法: (代码) #include "" #include <> #define maxlen 100 typedef struct { int data[maxlen]; int top; }SeqStack; // 初始化空栈 SeqStack *InitStack(SeqStack *S) { S->top=-1; return S; } // 判断栈空 int StackEmpty(SeqStack *S) { if(S->top>=0) return 0; else return 1; // 栈空时返回 1 ,不空返回 0 } // 入栈 void Push(SeqStack *S,int x) { //printf(" 请输入入栈元素: "); //scanf("%d",&x); if(S->top<maxlen-1&&S->top>=-1) { S->top++; S->data[S->top]=x; } else printf(" 出错"); } // 出栈 void Pop(SeqStack *S) { if(S->top>=0) S->top--; else printf(" 出错"); } // 取栈顶元素 int GetTop(SeqStack *S) { if(S->top<=maxlen-1&&S->top>=0) return(S->data[S->top]); else printf(" 出错"); } // 输出栈顶元素 void printstack(SeqStack *S) { if(S->top<=-1) return 0; else while(S->top>-1) { printf("%d ",S->data[S->top]); S->top--; }} // 数制转换问题 void Conversion(SeqStack *S,int n,int d) { InitStack(S); //