问答题
没有一个长度为s的字符串,其字符顺序存放在一个一维数组的第1至第s个单元中(每个单元存放一个字符)。现要求从此字符串的第m个字符以后删除长度为t的子串,m<s,t<(s-m),并将删除后的结果复制在该数组的第s单元以后的单元中,试设计此删除算法。
【正确答案】
【答案解析】算法描述为:
int delete(r,S,t,m)//从字符串的第m个字符以后删除长度为t的子串
char r[];
int S,t,m;
{int i,j;
for(i=1;i<=m;i++)
r[s+i]=r[i];
for(j=m+t-i;j<=S;j++)
r[s-t+j]=r[j];
return(1):
}//delete