收藏 分销(赏)

实验六-栈.doc

上传人:仙人****88 文档编号:7858330 上传时间:2025-01-23 格式:DOC 页数:3 大小:45.50KB
下载 相关 举报
实验六-栈.doc_第1页
第1页 / 共3页
实验六-栈.doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述
《数据结构》 实验六 栈的应用 ——0000000000 *** 一、实验目的 熟悉栈的逻辑特性、存储表示方法和栈的基本操作。 二、实验数据 实验随机输入。 三、实验内容与步骤 (1) 括号匹配问题:判断一个表达式中的括号(有三种括号,小、中和大括号)是否配对,编写并实现它的算法。要求:1)用不同的存储方法,求解上面的问题。2)若表达式中既有小括号,又有大括号(或中括号),且允许互相嵌套,但不能交叉,写出判断这 样的表达式是否合法的算法。如 2+3*(4-{5+2}*3) 为合法;2+3*(4-{5+2 * 3} 、2+3*(4-[5+2 * 3)为不合法。 (2)斐波那契序列求解问题:用递归函数实现斐波那契序列求解。 3.1用顺序栈求解“括号匹配问题” #include <stdio.h> #include <malloc.h> #define stacksize 100 #define NULL 0 typedef struct { int top,base; char a[stacksize]; }Snode; Snode * creatstack(Snode *s) { s=(Snode*)malloc(stacksize *sizeof (Snode)); s->top=-1; return s; } char push(Snode * &s,char e) { if(s->top==stacksize-1) return 0; else {s->top++; s->a[s->top]=e; return e; } } char pop(Snode * &s,char e) { if(s->top==-1) return 0; else { e=s->a[s->top]; s->top--; return e; } } void main() { Snode *str,*s; char c,e; printf("请输入左括号:\n"); scanf("%s",&c); str=creatstack(s); printf("请输入右括号:\n"); scanf("%s",&e); while (c!='\n') { switch(c) { case '(':if (c==')') pop(s,e);else push(s,c);break; case '{':if (c=='}') pop(s,e);else push(s,c);break; case '[':if (c==']') pop(s,e);else push(s,c);break; default:push(s,e);break;} scanf("%s",&c); } if (str->top==-1) printf("括号匹配\n"); else printf("括号不匹配\n"); } 3.2 递归函数实现斐波那契序列 #include"stdlib.h" #include"stdio.h" long Fibo(int n) { long f; if(n==1 || n==2) {f=1; printf("f=",&f); return 1;} else {f=Fibo(n-1)+Fibo(n-2); printf("f=",&f); return f;} } int main() { printf("please input a number:"); long Fibo(int n); return 0; } 四、结论与讨论 斐波那契序列的算法里,加上栈就会出错,删掉才能编译成功,该怎么用栈来编写斐波那契序列
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服