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