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

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

ID:59194492

大小:50.00 KB

页数:6页

时间:2020-09-10

数据结构实验报告(C语言)栈的基本操作.doc_第1页
数据结构实验报告(C语言)栈的基本操作.doc_第2页
数据结构实验报告(C语言)栈的基本操作.doc_第3页
数据结构实验报告(C语言)栈的基本操作.doc_第4页
数据结构实验报告(C语言)栈的基本操作.doc_第5页
资源描述:

《数据结构实验报告(C语言)栈的基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机科学与技术系实验报告专业名称计算机科学与技术课程名称数据结构与算法项目名称栈的基本操作班级计科一班学号姓名实验日期格式要求实验报告注意格式规范,要求在word中编写,文中不要有空行,统一使用A4页面。页边距:上2.5cm、下2cm、左2.5cm、右2cm。标题:宋体、四号字、加粗、1.5倍行距。正文:宋体、小四号字、1.2倍行距。一、实验目的与要求:(一)实验目的1.掌握栈的抽象数据类型。2.掌握实现栈的各种操作的算法。3.理解栈与递归的关系。(二)实验要求1.用C描述栈的每种操作在顺序栈或链栈上的实现。2.将建栈、初始化栈、判断栈是否非空、求栈的长度、输出从

2、栈顶到栈底的元素分别定义为5个子函数,通过主函数实现对上述子函数的调用。3.输入数据:数据域(data)设定为整型。二、实验方法:(代码)#include"stdio.h"#include#definemaxlen100typedefstruct{intdata[maxlen];inttop;}SeqStack;//初始化空栈SeqStack*InitStack(SeqStack*S){S->top=-1;returnS;}//判断栈空intStackEmpty(SeqStack*S){if(S->top>=0)return0;elseretur

3、n1;//栈空时返回1,不空返回0}//入栈voidPush(SeqStack*S,intx){//printf("请输入入栈元素:");//scanf("%d",&x);if(S->toptop>=-1){S->top++;S->data[S->top]=x;}elseprintf("出错");}//出栈voidPop(SeqStack*S){if(S->top>=0)S->top--;elseprintf("出错");}//取栈顶元素intGetTop(SeqStack*S){if(S->top<=maxlen-1&&S->top>=

4、0)return(S->data[S->top]);elseprintf("出错");}//输出栈顶元素voidprintstack(SeqStack*S){if(S->top<=-1)return0;elsewhile(S->top>-1){printf("%d",S->data[S->top]);S->top--;}}//数制转换问题voidConversion(SeqStack*S,intn,intd){InitStack(S);//初始化空栈if(n<0)//若n为负数{printf("输入的数字必须超过0");return0;}if(!n)Push(S,0

5、);//若n为零while(n)//若n正数{Push(S,n%d);n=n/d;}//if(!empty(S))//pop(S);}voidmain(){intx,i,j;SeqStack*S;SeqStackP;S=&P;InitStack(S);printf("请输入入栈元素:");scanf("%d",&x);while(x!=-1){Push(S,x);printf("请输入入栈元素:");scanf("%d",&x);}printstack(S);printf("");//进制转换printf("******进制转换******");prin

6、tf("请输入十进制i整数转换为对应的j进制数:");scanf("%d%d",&i,&j);Conversion(S,i,j);printstack(S);printf("");}}}三、实验分析与小结得分(百分制)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。