收藏 分享(赏)

习题课(栈队列串数组).ppt

上传人:hyngb9260 文档编号:6699947 上传时间:2019-04-21 格式:PPT 页数:25 大小:81KB
下载 相关 举报
习题课(栈队列串数组).ppt_第1页
第1页 / 共25页
习题课(栈队列串数组).ppt_第2页
第2页 / 共25页
习题课(栈队列串数组).ppt_第3页
第3页 / 共25页
习题课(栈队列串数组).ppt_第4页
第4页 / 共25页
习题课(栈队列串数组).ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、习题3.15 const int StackSize=500; typedef struct SElemtype *base; int top0, top1; TwoStack; /双向栈类型 Status InitStack(TwoStack ,Status push(TwoStack ,Status pop(TwoStack ,习题3.18 Status Ex3_18(char *str)/判别表达式中的小括号是否匹配 count=0; for(p=str; p ;p+) if(*p=() count+; else if(*p=) count-; if (count0) return ER

2、ROR;/避免)(假匹配 if(count) return ERROR; /注意括号不匹配的两种情况 return OK; ,习题3.19 Status Ex3_19(SqList str)/判别表达式中三种括号是否匹配 InitStack(S);for(i=0;istr.length;i+) if(str.elemi=(|str.elemi=|str.elemi=) Push(S, str.elemi); else if(str.elemi=)|str.elemi=|str.elemi=) if(StackEmpty(S) return ERROR; Pop(S,c); if(str.ele

3、mi=) ,习题3.28 void InitCiQueue(CiQueue /修改尾指针 ,Status DeCiQueue(CiQueue /DeCiQueue,习题3.29 Status EnCyQueue(CyQueue /队列满 /EnCyQueue,Status DeCyQueue(CyQueue /DeCyQueue 分析:当循环队列容量较小而队列中每个元素占的空间较多时,此种表示方法可以节约较多的存储空间,较有价值.,习题3.30 Status EnCyQueue(CyQueue /EnCyQueue,Status DeCyQueue(CyQueue /DeCyQueue,习题4

4、.25 void HString_Replace(HString ,else /新子串长度小于原子串时:先将后部左移 for(m=i+V.length;mS.length+V.length-T.length;m+) S.chm=S.chm-V.length+T.length; for(m=0;mV.length;m+)S.chi+m=V.chm; S.length+=V.length-T.length; i+=V.length; /ifelse i+;/while ,习题4.6 1.SubString(s1,s,3,1)/s1=“Y” 2.SubString(s2,s,6,1)/s2=“+”

5、3.SubString(s3,s,7,1)/s3=“*” 4.Replace(s,s1,s2)/s=“(X+Z)+*” 5.SubString(t1,s,1,5)/t1=“(X+Z)” 6.Concat(t2,t1,s3)/t2=“(X+Z)*” 7.Concat(t,t2,s1)/t=“(X+Z)*Y”,习题4.8 A DABBA DADA next 0 1 1 2 1 1 2 3 4 3 nextval 0 1 0 2 1 0 1 0 4 0,习题4.8 1. 主串:ADBADABBAABADABBADADA模式:ADA nextval3=0 2.主串: ADBADABBAABADABBA

6、DADA模式: ADABBAD nextval7=1 3.主串: ADBADABBAABADABBADADA模式: AD nextval2=1 4.主串: ADBADABBAABADABBADADA模式: A nextval1=0 5.主串: ADBADABBAABADABBADADA模式: ADABBADADA,习题4.28 void Ex4_28(LString /while ,习题5.17(1) int max(SqList L,int n) int t;if(n=1)return(L.elem0);else t=max(L,n-1);if(tL.elemn-1)return(t);el

7、se return(L.elemn-1); ,习题5.17(2) int min(SqList L,int n) int t;if(n=1)return(L.elem0);else t=min(L,n-1);if(tL.elemn-1)return(t);else return(L.elemn-1); ,习题5.17(3) (4) int sum(SqList L,int n) if(n=1)return(L.elem0);else return(sum(L,n-1)+L.elemn-1); int product(SqList L,int n) if(n=1)return(L.elem0);

8、else return(product(L,n-1)*L.elemn-1); ,习题5.17(5) float average(SqList L,int n) if(n=1)return(L.elem0);else return(average(L,n-1)*(n-1)+L.elemn-1)/n); ,习题5.19 void Ex5_19(int Amn)/求矩阵A中的马鞍点 int flag=0;for(i=0;imaxj) maxj=Aij; ,for(i=0;im;i+)/判定是否为马鞍点for(j=0;jn;j+)if(mini=maxj)printf(“马鞍点为:A%d%d=%dn“,i,j,Aij);flag=1;if(!flag)printf(“没有马鞍点n”); ,习题5.24 typedef struct int seq; /该元素在以行为主序排列时的序号 int e; Triple; typedef struct Triple dataMAXSIZE+1;int nu,tu; TSMatrix; /单下标二元组矩阵类型,Status Ex5_24(TSMatrix A,int i,int j,int ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报