③编写对串求逆的递推算法。要求实现以下函数: void Reverse(StringType &s); /* Reverse s by iteration. */ StringType 是串的一个抽象数据类型,它包含以下 6 种基本操作: void InitStr(StringType &s); // 初始化 s 为空串。 void StrAssign(StringType &t, StringType s); //将s 的值赋给 t。s 的实际参数是串变量。 int pare(StringType s, StringType t); // 比较 s和t 。若 s>t ,返回值>0 ;若 s=t ,返回值=0 ;若 s<t ,返回值<0 。 int StrLength(StringType s); // 返回 s 中的元素个数,即该串的长度。 StringType Concat(StringType &s, StringType t); // 返回由 s和t 联接而成的新串。 StringType SubString(StringType s, int start, int len); //当 1<=start<=StrLength(s) 且 0<=len<=StrLength(s)- start+1 时, // 返回 s 中第 start 个字符起长度为 len 的子串,否则返回空串。// 注意, 不要使用"s=" 的形式为 StringType 类型的变量赋值, // 而要使用 StrAssign 函数!!! void Reverse(StringType &s) /* Reverse s by iteration. */ { int i=0,j=StrLength(s)-1; char temp; while(i<=j) { temp=s[i]; s[i]=s[j]; s[j]=temp; i++;j--; }} ③编写算法,从串 s 中删除所有和串 t 相同的子串。要求实现以下函数: void DelSubString(StringType &scrStr, StringType subStr); /* Remove all substring matching 'subStr' from 'scrStr'. */ StringType 是串的一个抽象数据类型,它包含以下 6 种基本操作: void InitStr(StringType &s); // 初始化 s 为空串。 void StrAssign(StringType &t, StringType s); //将s 的值赋给 t。s 的实际参数是串变量。 int pare(StringType s, StringType t); // 比较 s和t 。若 s>t ,返回值>0 ;若 s=t ,返回值=0 ;若 s<t ,返回值<0 。 int StrLength(StringType s); // 返回 s 中的元素个数,即该串的长度。 StringType Concat(StringType &s, StringType t); // 返回由 s和t 联接而成的新串。 StringType SubString(StringType s, int start, in
《数据结构题集》参考答案4 串 来自淘豆网www.taodocs.com转载请标明出处.