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

上传人:小飞机 文档编号:5913110 上传时间:2023-09-03 格式:PPT 页数:25 大小:265.11KB
返回 下载 相关 举报
习题课(栈队列串数组).ppt_第1页
第1页 / 共25页
习题课(栈队列串数组).ppt_第2页
第2页 / 共25页
习题课(栈队列串数组).ppt_第3页
第3页 / 共25页
习题课(栈队列串数组).ppt_第4页
第4页 / 共25页
习题课(栈队列串数组).ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《习题课(栈队列串数组).ppt》由会员分享,可在线阅读,更多相关《习题课(栈队列串数组).ppt(25页珍藏版)》请在三一办公上搜索。

1、习题3.15 const int StackSize=500;typedef structSElemtype*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 ERROR;/避免).(假匹配if(count

2、)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.elemi=),习题3.28 void InitCiQueue(CiQue

3、ue/修改尾指针,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.25 void HString_Replace(HString,else/新子串长度小

4、于原子串时:先将后部左移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;/if else i+;/while,习题4.61.SubString(s1,s,3,1)/s1=“Y”2.SubString(s2,s,6,1)/s2=“+”3.SubString(s3,s,7,1)/s3=“*”4.Replace(s,s1,s2)/s=“(X+Z)

5、+*”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 DADAnext 0 1 1 2 1 1 2 3 4 3nextval 0 1 0 2 1 0 1 0 4 0,习题4.81.主串:ADBADABBAABADABBADADA 模式:ADA nextval3=02.主串:ADBADABBAABADABBADADA 模式:ADABBAD nextval7=13.主串:ADBADABBAABADABBADADA模式:AD nextva

6、l2=1 4.主串:ADBADABBAABADABBADADA 模式:A nextval1=05.主串:ADBADABBAABADABBADADA 模式:ADABBADADA,习题4.28void 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);else return(L.elemn-1);,习题5.17(2)int min(SqList L,int n)int t;if(n=1)return(L

7、.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);else return(product(L,n-1)*L.elemn-1);,习题5.17(5)float average(SqList L,int n)if(n=1)

8、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 structint seq;/该元素在以行为主序排列时的序号int e;Triple;typedef struct Triple dataMAXSIZE+1;int nu,tu;TSMatrix;/单下标二元组矩阵类型,Status Ex5_24(TSMatrix A,int i,int j,int,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号