栈的建立、插入、删除.doc

栈的建立、插入、删除.doc

ID:59376016

大小:62.50 KB

页数:4页

时间:2020-09-04

栈的建立、插入、删除.doc_第1页
栈的建立、插入、删除.doc_第2页
栈的建立、插入、删除.doc_第3页
栈的建立、插入、删除.doc_第4页
资源描述:

《栈的建立、插入、删除.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、昌吉学院计算机计算机工程系学生实验报告班级:B1103班姓名乃比江塔依尔学号日期2013年9月23号课程名称数据结构实验室名称1324实验名称栈的建立、插入、删除指导教师香丽芸成绩一、实验目的1、编写函数,采用链式存储实现栈的初始化、入栈、出栈操作。2、了解栈的入栈和出栈的设计技巧。3、熟练掌握栈的入栈和出栈。4、阅读程序,写出自己对栈的入栈和出栈的理解。5、利用实践操作来加深对栈的入栈和出栈运用和理解。二、实验原理和内容实验原理:栈的修改时按照先进后出的原则进行的,试验中用到构造空栈,及入栈出栈操作。队列是一种先进先出的线性表,只允许在表的一端插入,而

2、在另一端删除元素,试验中构造队并且入队出队。实验内容:编写函数实现栈的删除功能,编写函数实现栈的插入功能,编写程序实现以下功能。三、实验步骤1、 定义栈的顺序存取结构 2、分别定义栈的基本操作(初始化栈、判栈为空、出栈、入栈等)3、结果的运行。4、输入真确的值对程序进行测试。代码如下:#include#include#include#definem10typedefstruct{inta[m];inttop;}stack;voidmain(){intisempty(stack*s);//判断栈空in

3、tisfull(stack*s);//判断栈满intgettop(stack*s,intx);intget(stack*s,intb);//取结点bvoidpush(stack*s,intx);voidpop(stack*s);//出栈inti,x,b,c,j=0;stack*s;s=(stack*)malloc(sizeof(stack));s->top=0;printf("请输入十个数字:");for(i=0;i<=m-1;i++){scanf("%d",&x);push(s,x);}if(isempty(s))printf("空栈");el

4、seprintf("非空");if(isfull(s))printf("满栈");elseprintf("非满");gettop(s,x);printf("最后一个进栈元素为%d",x);printf("请输入要找第几号元素?");scanf("%d",&b);c=get(s,b);printf("第%d元素为%d",b,c);printf("是否出栈?出栈请输入:1");scanf("%d",&j);if(j){printf("原栈中元素为:");pop(s);}elseprintf("出栈失败!");}intise

5、mpty(stack*s){if(s->top==0)return1;elsereturn0;}intisfull(stack*s){if(s->top==m)return1;elsereturn0;}intgettop(stack*s,intx){inti;i=isempty(s);if(i)printf("empty");elsex=s->a[s->top-1];returnx;}voidpush(stack*s,intx){inti;i=isfull(s);if(i)printf("overflow");else{s->a[s->top]=x;s-

6、>top++;}}intget(stack*s,intb){intc;c=s->a[b-1];returnc;}voidpop(stack*s)//出栈{inti,j,t;t=s->top;for(i=0;ia[s->top-1]);s->top--;}printf("%d",s->a[s->top-1]);s->top--;j=isempty(s);if(j)printf("出栈成功!");}四、程序及运行结果(或实验数据记录及分析)

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

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

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