【正确答案】正确答案:串置换有两种形式:第一种形式是replaee(s,i,j,t),含义是将s串中从第i个字符开始的j个字符用t串替换,第二种形式是replace(s,t,v),含义是将S串中所有非重叠的t串用v串代替。我们先讨论第一种形式的替换。因为已经给定顺序存储结构,我们可将S串从第(i+j一1)到串尾(即s.curlen)移动t.curlen-j绝对值个位置(以便将t串插入):若j>t.curlen,则向左移 动;若j
:i+j一1;k一一) s.ch[k+t.curlen-j]=s.ch[k]; else if(j>t.cur:ten) //s串中被替换子串的长度小于t串的长度 for(k=i一1+j;k<=s.curZen-1;k++) s.ch[k-(j一tcurZen)]=s.ch[k]; for(k=o;k
【答案解析】