问题
问答题
设有一个长度为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=l;i<m;i++)
r[s+i]=r[i];
for(j=m+t-i;j<s;j++)
r[s-t+j]=r[j];
return(l);
}//delete