为了账号安全,请及时绑定邮箱和手机立即绑定

如下具体所示,求数据结构高手指点

如下具体所示,求数据结构高手指点

Cats萌萌 2022-03-19 09:05:07
小弟刚刚自学数据结构遇到2个难题还望高手指点明路啊!!int StrReplace(SeqString* r1,int i,SeqString* r2)/*用串r2 替换串r1中自第i个字符开始,长度与r2相等的子串*/int StrCmp(SeqString* r1,SeqString* r2)/*比较两个字符串的大小。字符的大小是由该字符在ASCII码及国标码中出现的先后次序确定,出现在前的字符小于出现在后的字符。串的大小通常是按字典序定义*/能帮我填一下代码吗!!!!!
查看完整描述

3 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

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);
}



查看完整回答
反对 回复 2022-03-23
?
绝地无双

TA贡献1946条经验 获得超4个赞

参考恢复代码
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
struct
node
{
char
data;
struct
node
*lchild;
struct
node
*rchild;
};
void
Createbitree(node*
root)
{
char
ch=getchar();
fflush(stdin);
if(ch!='#')
{
root=(node*)malloc(sizeof(node));
root->data=ch;
Createbitree(root->lchild);
Createbitree(root->rchild);
}
return;
}
void
Readbittree(node
*root)
{
printf("%c",root->data);
if(root->lchild!=NULL)
{
Readbittree(root->lchild);
}

if(root->rchild!=NULL)
{
Readbittree(root->rchild);
}
return;
}
int
main()
{
printf("输入内容");
//创建根节点
node*
b
=
NULL;
Createbitree(b);
system("pause");
//输出
return
0;
}



查看完整回答
反对 回复 2022-03-23
?
慕神8447489

TA贡献1780条经验 获得超1个赞

是个建立二叉树的程序。你这个两句:
root->lchild=create
bitree();

root->rchild=create
bitree();是递归,调用create
bitree函数,但是你有返回值root却没有在create函数前面写上其类型int、float或char,也没有形参的设定、

查看完整回答
反对 回复 2022-03-23
  • 3 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信