数据结构高手进
小弟刚刚自学数据结构遇到2个难题还望高手指点明路啊!!
int StrReplace(SeqString* r1,int i,SeqString* r2)
/*用串r2 替换串r1中自第i个字符开始,长度与r2相等的子串*/
int StrCmp(SeqString* r1,SeqString* r2)
/*比较两个字符串的大小。字符的大小是由该字符在ASCII码及国标码中出现的先后次序确定,
出现在前的字符小于出现在后的字符。串的大小通常是按字典序定义*/
能帮我填一下代码吗!!!!!
参考答案:int strcmp(const char * cs,const char * ct)
{
register signed char __res;
while (1) {
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
}
return __res;
}
//要考虑str2超长的情况,如果超过了str1长度,那么只替换到str1的末尾位置,其余部分不在替换,返回替换串的长度
int strreplace(char* str1 , int i , char* str2)
{
int c = i;
char *p = str1;
while(c--)
p++;
while(p)
p++ = str2++;
return i-strlen(str2);
}