欢迎来到天天文库
浏览记录
ID:16353342
大小:47.00 KB
页数:6页
时间:2018-08-09
《《数据结构题集》参考答案4 串》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、4.10③编写对串求逆的递推算法。要求实现以下函数:voidReverse(StringType&s);/*Reversesbyiteration.*/StringType是串的一个抽象数据类型,它包含以下6种基本操作:voidInitStr(StringType&s);//初始化s为空串。voidStrAssign(StringType&t,StringTypes);//将s的值赋给t。s的实际参数是串变量。intStrCompare(StringTypes,StringTypet);//比较s和t。若s>t,返回值>0;若s=t,返回值=0;若s2、StringTypes);//返回s中的元素个数,即该串的长度。StringTypeConcat(StringType&s,StringTypet);//返回由s和t联接而成的新串。StringTypeSubString(StringTypes,intstart,intlen);//当1<=start<=StrLength(s)且0<=len<=StrLength(s)-start+1时,//返回s中第start个字符起长度为len的子串,否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidReverse(Stri3、ngType&s)/*Reversesbyiteration.*/{inti=0,j=StrLength(s)-1;chartemp;while(i<=j){temp=s[i];s[i]=s[j];s[j]=temp;i++;j--;}}4.13③编写算法,从串s中删除所有和串t相同的子串。要求实现以下函数:voidDelSubString(StringType&scrStr,StringTypesubStr);/*Removeallsubstringmatching'subStr'from'scrStr'.*/StringType是串的一个抽象数据类型,它包含以下6种基本操作:voidIni4、tStr(StringType&s);//初始化s为空串。voidStrAssign(StringType&t,StringTypes);//将s的值赋给t。s的实际参数是串变量。intStrCompare(StringTypes,StringTypet);//比较s和t。若s>t,返回值>0;若s=t,返回值=0;若s5、Types,intstart,intlen);//当1<=start<=StrLength(s)且0<=len<=StrLength(s)-start+1时,//返回s中第start个字符起长度为len的子串,否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidDelSubString(StringType&scrStr,StringTypesubStr)/*Removeallsubstringmatching'subStr'from'scrStr'.*/{StringTypehead,tail,S;inti;In6、itStr(head);InitStr(tail);for(i=1;i<=StrLength(scrStr)-StrLength(subStr)+1;i++)if(!StrCompare(SubString(scrStr,i,StrLength(subStr)),subStr)){StrAssign(head,SubString(scrStr,1,i-1));StrAssign(tail,SubString(scrStr,i+StrLength(subStr),StrLength(scrStr)-i-StrLength(subStr)+1));StrAssign(scrStr,Concat(h7、ead,tail));i--;}}4.17③编写算法,实现串的基本操作Replace(&S,T,V)。要求采用教科书4.2.1节中所定义的定长顺序存储表示,但不允许调用串的基本操作。要求实现以下函数:StatusReplace(SString&s,SStringt,SStringv);/*用串v替换串s中所有和串t匹配的子串。*//*若有与t匹配的子串被替换,则返回TRUE;*//*否则返回FAL
2、StringTypes);//返回s中的元素个数,即该串的长度。StringTypeConcat(StringType&s,StringTypet);//返回由s和t联接而成的新串。StringTypeSubString(StringTypes,intstart,intlen);//当1<=start<=StrLength(s)且0<=len<=StrLength(s)-start+1时,//返回s中第start个字符起长度为len的子串,否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidReverse(Stri
3、ngType&s)/*Reversesbyiteration.*/{inti=0,j=StrLength(s)-1;chartemp;while(i<=j){temp=s[i];s[i]=s[j];s[j]=temp;i++;j--;}}4.13③编写算法,从串s中删除所有和串t相同的子串。要求实现以下函数:voidDelSubString(StringType&scrStr,StringTypesubStr);/*Removeallsubstringmatching'subStr'from'scrStr'.*/StringType是串的一个抽象数据类型,它包含以下6种基本操作:voidIni
4、tStr(StringType&s);//初始化s为空串。voidStrAssign(StringType&t,StringTypes);//将s的值赋给t。s的实际参数是串变量。intStrCompare(StringTypes,StringTypet);//比较s和t。若s>t,返回值>0;若s=t,返回值=0;若s5、Types,intstart,intlen);//当1<=start<=StrLength(s)且0<=len<=StrLength(s)-start+1时,//返回s中第start个字符起长度为len的子串,否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidDelSubString(StringType&scrStr,StringTypesubStr)/*Removeallsubstringmatching'subStr'from'scrStr'.*/{StringTypehead,tail,S;inti;In6、itStr(head);InitStr(tail);for(i=1;i<=StrLength(scrStr)-StrLength(subStr)+1;i++)if(!StrCompare(SubString(scrStr,i,StrLength(subStr)),subStr)){StrAssign(head,SubString(scrStr,1,i-1));StrAssign(tail,SubString(scrStr,i+StrLength(subStr),StrLength(scrStr)-i-StrLength(subStr)+1));StrAssign(scrStr,Concat(h7、ead,tail));i--;}}4.17③编写算法,实现串的基本操作Replace(&S,T,V)。要求采用教科书4.2.1节中所定义的定长顺序存储表示,但不允许调用串的基本操作。要求实现以下函数:StatusReplace(SString&s,SStringt,SStringv);/*用串v替换串s中所有和串t匹配的子串。*//*若有与t匹配的子串被替换,则返回TRUE;*//*否则返回FAL
5、Types,intstart,intlen);//当1<=start<=StrLength(s)且0<=len<=StrLength(s)-start+1时,//返回s中第start个字符起长度为len的子串,否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidDelSubString(StringType&scrStr,StringTypesubStr)/*Removeallsubstringmatching'subStr'from'scrStr'.*/{StringTypehead,tail,S;inti;In
6、itStr(head);InitStr(tail);for(i=1;i<=StrLength(scrStr)-StrLength(subStr)+1;i++)if(!StrCompare(SubString(scrStr,i,StrLength(subStr)),subStr)){StrAssign(head,SubString(scrStr,1,i-1));StrAssign(tail,SubString(scrStr,i+StrLength(subStr),StrLength(scrStr)-i-StrLength(subStr)+1));StrAssign(scrStr,Concat(h
7、ead,tail));i--;}}4.17③编写算法,实现串的基本操作Replace(&S,T,V)。要求采用教科书4.2.1节中所定义的定长顺序存储表示,但不允许调用串的基本操作。要求实现以下函数:StatusReplace(SString&s,SStringt,SStringv);/*用串v替换串s中所有和串t匹配的子串。*//*若有与t匹配的子串被替换,则返回TRUE;*//*否则返回FAL
此文档下载收益归作者所有