数据结构concat(数据结构concat函数用法)

http://www.itjxue.com  2023-01-27 08:20  来源:未知  点击次数: 

在数据结构中串的联接concat,当遇到重复的也联接吗?

所谓连接就是接起来,哪里需要考虑重复不重复,肯定是直接连接了

数据结构C语言顺序串 求高手修改,特别是concat函数,高手帮忙啊,急!!!!!!!

//给你改到可以运行了,你要实现什么功能你也没说,就这样了,你自己看看自己的算法,你在用的时候注意下大小写,在C 中是严格区分大小写的,还有就是函数在进行参数传递的时候,传的是什么。怎样传好,如果对修改有不解的地方,我们可以共同解决。

#includestdio.h

#includeconio.h

#includestdlib.h

#define MAX 100

#define FALSE 0

#define TRUE 1

#define ERROR 0

typedef struct

{

char ch[MAX];

int len;

}SqString;

void StrAssign(SqString *str )//你这定义的是*str所以下面要用str-

{

int i;char cstr[MAX];

gets(cstr);///先接收串,再对其操作

for(i=0;cstr[i]!='\0';i++)

{

str-ch[i]=cstr[i];

}

str-len=i;

}

int StrCompare(SqString S,SqString T)

{

int i;

for (i = 0; i S.leni T.len; i++)

if (S.ch[i]!=T.ch[i])

return S.ch[i]-T.ch[i];

return (S.len-T.len);

}

int StrLength(SqString S)

{

return S.len;

}

int concat(SqString S,SqString T)

{ int i,overflow;

if (S.len+T.len=MAX)

{

for(i=0;i=T.len;i++)

S.ch[S.len+i]=T.ch[i];////引用的是S中的ch中的S.len+i

S.len=S.len+T.len; overflow=FALSE;

}

else {

overflow=TRUE;

if(S.lenMAX)

for(i=0;iMAX-S.len;i++)

S.ch[S.len+i]=T.ch[i];

}

return overflow;

}

void Sqstring(SqString* sub,SqString *s,int pos,int length )///

{ int i;

if(pos1 || poss-len || s-len0 || length+pos-1 s-len)

exit(0);

else

{ for(i=0;i=length;i++)

sub-ch[i]=s-ch[pos+i];

sub-len=length;

}

}

void Print(SqString *S)

{int i;

if(S-len0)

{for(i=0;iS-len;i++)

printf("%c",S-ch[i]);

printf("\n");}

}

void main()

{

int m,n,pos,length;

SqString S,T,sub;

printf("Please input S :");

StrAssign(S);

Print(S);

printf("Please input T :");

StrAssign(T);

Print(T);

m=StrCompare(S,T);

printf("%d\n",m);

n=StrLength(S);

printf("%d\n",n);

concat (S,T);

Print(S);

printf("Please input pos= length= \n");

scanf("%d%d",pos,length);

Sqstring(sub,S,pos,length);

Print(sub);

getch();

}

数据结构中串的CONCAT语句的问题

你没弄懂Concat()函数里面参数的意思,我觉得应该是Concat(s,t1,t2)应该是把t1和t2连接起来,然后赋值给s.具体也不怎么清楚,你应该看相应语言的文档

(责任编辑:IT教学网)

更多

推荐数据库文章