【数据结构】顺序串的插入算法,删除算法,连接运算,顺序串求子串算法

【数据结构】顺序串的插入算法,删除算法,连接运算,顺序串求子串算法,第1张

概述本文章向大家介绍【数据结构顺序串的插入算法,删除算法,连接运算,顺序串求子串算法,主要包括【数据结构】顺序串的插入算法,删除算法,连接运算,顺序串求子串算法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

主函数自行添加

头文件 + 宏定义

#include

#include

#define MAXSIZE 100

串的顺序存储

typedef struct

{

char str[MAXSIZE];

int length;

}seqstring;

顺序串的创建

voID creat(seqstring *S)

{

char c;

int i=0;

while((c=getchar())!='n')

{

S->str[i++]=c;

}

S->str[i]='';

S->length=i;

return ;

}

(1)插入运算

将字符串T插入到字符串S的第i个字符开始的位置上

voID strinsert(seqstring *S,int i,seqstring T)

{

int k;

if(i<1 || i>S->length+1 || S->length + T.length>=MAXSIZE)

{

printf("can not insertn");

return ;

}

for(k=S->length-1;k>=i-1;k--)

{

S->str[k+T.length]=S->str[k];

}

for(k=0;k

{

S->str[k+i-1]=T.str[k];

}

S->length+=T.length;

S->str[S->length]='';

}

(2)删除运算

将串S中从第i个字符起长度为len的字串删除

voID strdelete(seqstring *S,int len)

{

int k;

if(i<0 || i>S->length || i+len-1>MAXSIZE)

{

printf("can not deleten");

return ;

}

for(k=i-1;k<=S->length-1;k++)

{

S->str[k]=S->str[k+len];

}

S->length-=len;

S->str[k]='';

return ;

}

(3)顺序串的连接

将串S1和串S2连接

seqstring *strconcat(seqstring S,seqstring T)

{

int i;

seqstring *r;

if(S.length+T.length>=MAXSIZE)

{

printf("can not concaten");

return NulL;

}

r=(seqstring*)malloc(sizeof(seqstring));

for(i=0;i

{

r->str[i]=S.str[i];

}

for(i=0;i

{

r->str[S.length+i]=T.str[i];

}

r->length=S.length+T.length;

r->str[r->length]='';

return r;

}

(4)求子串运算

从串第i个字符开始取长度为len的子串返回

seqstring *substring(seqstring S,int len)

{

int k;

seqstring *r;

if(i<1 || i>S.length || i+len-1>S.length)

{

printf("substring errorn");

exit(1);

}

else

{

r=(seqstring*)malloc(sizeof(seqstring));

for(k=0;k

{

r->str[k]=S.str[i-1+k];

}

r->length=len;

r->str[r->length]='';

}

return r;

}

总结

以上是内存溢出为你收集整理的【数据结构】顺序串的插入算法,删除算法,连接运算,顺序串求子串算法全部内容,希望文章能够帮你解决【数据结构】顺序串的插入算法,删除算法,连接运算,顺序串求子串算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存