3245.txt
来自「实现串的两个操作。从串s中删除所有和串t相同的子串和从串s中删除所有和串t相同的」· 文本 代码 · 共 22 行
TXT
22 行
4.20③ 编写算法,从串s中删除所有和串t相同的子串。
要求实现以下函数:
Status DelSub(SString &s, SString t);
/* 从串s中删除所有和串t匹配的子串。 */
/* 若有与t匹配的子串被删除,则返回TRUE;*/
/* 否则返回FALSE */
定长顺序串SString的类型定义:
typedef unsigned char SString[MAXSTRLEN+1];
/* s[0] is the string's length */
{ int i,j,k,m=0;
if(!s[0]) return FALSE;
for(i=1;i<=s[0]-t[0]+1;i++)
{for(j=i,k=1;k<=t[0]&&s[j]==t[k];j++,k++);
if(k>t[0])
{for(m=i;m<=s[0]-t[0];m++) s[m]=s[m+t[0]];
s[0]-=t[0];i--;
}
}
if(m) return TRUE;
else return FALSE;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?