欢迎来到天天文库
浏览记录
ID:1134249
大小:47.00 KB
页数:6页
时间:2017-11-07
《《数据结构题集》参考答案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,返回
2、值>0;若s=t,返回值=0;若s3、否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidReverse(StringType&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&4、scrStr,StringTypesubStr);/*Removeallsubstringmatching'subStr'from'scrStr'.*/StringType是串的一个抽象数据类型,它包含以下6种基本操作:voidInitStr(StringType&s);//初始化s为空串。voidStrAssign(StringType&t,StringTypes);//将s的值赋给t。s的实际参数是串变量。intStrCompare(StringTypes,StringTypet);//比较s和t。若s>t,返回5、值>0;若s=t,返回值=0;若s6、否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidDelSubString(StringType&scrStr,StringTypesubStr)/*Removeallsubstringmatching'subStr'from'scrStr'.*/{StringTypehead,tail,S;inti;InitStr(head);InitStr(tail);for(i=1;i<=StrLength(scrStr)-StrLength(s7、ubStr)+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(head,tail));i--;}}4.17③编写算法,8、实现串的基本操作Replace(&S,T,V)。要求采用教科书4.2.1节中所定义的定长顺序存储表示,但不允许调用串的基本操作。要求实现以下函数:StatusReplace(SString&s,SStringt,SStringv);/*用串v替换串s中所有和串t匹配的子串。*//*若有与t匹配的子串被替换,则返回TRUE;*//*否则返回FAL
3、否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidReverse(StringType&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&
4、scrStr,StringTypesubStr);/*Removeallsubstringmatching'subStr'from'scrStr'.*/StringType是串的一个抽象数据类型,它包含以下6种基本操作:voidInitStr(StringType&s);//初始化s为空串。voidStrAssign(StringType&t,StringTypes);//将s的值赋给t。s的实际参数是串变量。intStrCompare(StringTypes,StringTypet);//比较s和t。若s>t,返回
5、值>0;若s=t,返回值=0;若s6、否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidDelSubString(StringType&scrStr,StringTypesubStr)/*Removeallsubstringmatching'subStr'from'scrStr'.*/{StringTypehead,tail,S;inti;InitStr(head);InitStr(tail);for(i=1;i<=StrLength(scrStr)-StrLength(s7、ubStr)+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(head,tail));i--;}}4.17③编写算法,8、实现串的基本操作Replace(&S,T,V)。要求采用教科书4.2.1节中所定义的定长顺序存储表示,但不允许调用串的基本操作。要求实现以下函数:StatusReplace(SString&s,SStringt,SStringv);/*用串v替换串s中所有和串t匹配的子串。*//*若有与t匹配的子串被替换,则返回TRUE;*//*否则返回FAL
6、否则返回空串。//注意,不要使用"s="的形式为StringType类型的变量赋值,//而要使用StrAssign函数!!!voidDelSubString(StringType&scrStr,StringTypesubStr)/*Removeallsubstringmatching'subStr'from'scrStr'.*/{StringTypehead,tail,S;inti;InitStr(head);InitStr(tail);for(i=1;i<=StrLength(scrStr)-StrLength(s
7、ubStr)+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(head,tail));i--;}}4.17③编写算法,
8、实现串的基本操作Replace(&S,T,V)。要求采用教科书4.2.1节中所定义的定长顺序存储表示,但不允许调用串的基本操作。要求实现以下函数:StatusReplace(SString&s,SStringt,SStringv);/*用串v替换串s中所有和串t匹配的子串。*//*若有与t匹配的子串被替换,则返回TRUE;*//*否则返回FAL
此文档下载收益归作者所有