字符串的替换操作replace (String &s, String &t, String &v)是指:若t是s的子串,则用串v替换串t在串s中的所有出现;若t不是s的子串,则串s不变。例如,若串s为"aa bbabcbaabaaacbab"串t为"bab”,串v为*abde",则执行replace 操作后,串s中的结果为"aababdccbaabaaacabde"。试利用字符串的基本运算实现这个替换操作。[br][/br]
举一反三
- 4章--已知字符串s=“(x+y)*z”,其中,双引号不是字符串的内容,经过以下运算后,t3的值是()。t1=SubString(s,3,1)t2=Concat('XY',t1)t3=Replace(s,SubString(s,1,5),t2)注:SubString(s,k,n)表示从串s的第k个字符开始取出长度为n的子串,Concat(s,t)表示将串t连接在s之后,Replace(s,t,r)表示用r替换串s中的子串t。
- 编写算法,实现串的基本操作Replace(&S,T,V)。
- 设有两个字符串s和t,判断t是否为s子串的算法称为()。 A: 求子串 B: 求子串 C: 串匹配 D: 求串长
- 设有两个串T和S,其中T是S的子串,则求T在S中首次出现位置的算法称为( )。 A: 求子串 B: 求串长 C: 模式匹配 D: 串联接
- 设计一个算法Count(s,t),求串t在串s中出现的次数。(例如,对于s="aababababc",t="abab",这里认为t在s中仅仅出现2次,其中不考虑子串重复问题。 假设两个串均以顺序串存储。)