数据结构c语言版第4版答案,严蔚敏版数据结构(C语言版)参考答案第四、五章

该博客介绍了如何使用C语言实现字符串的反转和查找并移除子串的操作。`String_Reverse`函数通过遍历原字符串从后往前添加字符来实现反转;`String_Subtract`函数则遍历原字符串,检查每个字符是否不在第二个字符串中,如果不在,则添加到结果串。这些函数对于理解和操作字符串非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《数据结构习题集》严蔚敏(C语言版)参考答案第四、五章

第四章 串

4.10

void String_Reverse(Stringtype s,Stringtype &r)//求s的逆串r

{

StrAssign(r,''); //初始化r为空串

for(i=Strlen(s);i;i--)

{

StrAssign(c,SubString(s,i,1));

StrAssign(r,Concat(r,c)); //把s的字符从后往前添加到r中

}

}//String_Reverse

4.11

void String_Subtract(Stringtype s,Stringtype t,Stringtype &r)//求所有包含在串s中而t中没有的字符构成的新串r

{

StrAssign(r,'');

for(i=1;i<=Strlen(s);i++)

{

StrAssign(c,SubString(s,i,1));

for(j=1;j

if(i==j)

{

for(k=1;k<=Strlen(t)&&StrCompare(c,SubString(t,k,1));k++); //判断当前字符是否包含在t中

if(k>Strlen(t)) StrAssign(r,Concat(r,c));

}

}//for

}//String_Subtract

4.12

int Replace(Stringtype &S,Stringtype T,Stringtype V);//将串S中所有子串T替换为V,并返回置换次数

{

for(n=0,i=1;i<=Strlen(S)-Strlen(T)+1;i++) //注意i的取值范围

if(!StrCompare(SubString(S,i,Strlen(T)),T)) //找到了与T匹配的子串

{ //分别把T的前面和后面部分保存为head和tail

StrAssign(head,SubString(S,1,i-1));

StrAssign(tail,SubString(S,i+Strlen(T),Strlen(S)-i-Strlen(T)+1));

StrAssign(S,Concat(head,V));

StrAssign(S,Concat(S,tail)); //把head,V,tail连接为新串

i+=Strlen(V); //当前指针跳到插入串以后

n++;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值