首页 > 试题广场 >

对于教科书4.1节中所述串的各个基本操作,讨论是否可由其他操

[问答题]
根据串的各个基本操作:StrAssign、StrCopy、StrEmpty、StrCompare、StrLength、StrString、Concat、SubString、Index、Replace、StrInsert、StrDelete、DestoryString。讨论是否可由其他操作构造而得?如何构造?

推荐
所述操作中的前5种都不能由其他基本操作构造而得。如教科书4.1.2节所述,可由串赋值(StrAssign)、串比较(StrCompare)、求串长(StrLength)、串连接(Concat)、求子串(SubString)这五种基本操作构成串类型的最小操作子集。
void repl(String &s,String t,String v)
{
k =Index(s,t);
if(k) {
StrAssign(temp,");    //temp为置换后得到的新串
n=StrLength(t);    m=StrLength(s);
while(k) [
StrAssign(temp,Concat(temp,SubString(s,1,k-1),v);
m-=(k-1)-n;
StrAssign(s,SubString(s,k+n,m));    //s为每次置换后的剩余串
k=Index(s,t);
}
StrAssign(s,Concat(temp,s));
}
}    //repl

发表于 2018-05-06 21:10:37 回复(0)