永发信息网

串类型的应用

答案:2  悬赏:60  手机版
解决时间 2021-05-10 11:54

(1)编程实现在串s中下标为pos的字符之前插入串t。串的存储结构采用定长顺序存储,表示如下:

#define MAXLEN 40

typedef struct {

char ch[MAXLEN];

int len;

}SString;

串的生成和输入代码可参考如下:

void createstring(SString *s)

{

int i,j;

char c;

printf("请输入要建立的串的长度:");

scanf("%d",&j);

for(i=0; i<j; i++)

{

printf("请输入串的第%d个字符:",i+1);

fflush(stdin);

scanf("%c",&c);

s->ch[i] = c;

}

s->len = j;

}

void output(SString *s)

{

int i;

for (i=0;i<s->len;i++)

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

printf("\n");

}

主函数代码如下:

void main()

{

SString *str1;

SString str2;

int i,j,k,pos;

int flag=0;

str1 = (SString *)malloc(sizeof(SString));

str1->len = 0;

printf("建立字符串1:\n");

createstring(str1);

printf("建立字符串2:\n");

createstring(&str2);

printf("请输入要插入的位置:");

scanf("%d",&pos);

flag=StrInsert(str1,pos,str2);

if(flag == 0)

printf("插入操作失败!");

else

{

printf("插入后串为:\n");

output(str1);

}

}

请完成函数int StrInsert(SString *s, int pos, SString t)的代码,若插入成功,函数值返回1, 则返回0。

2)编写模式匹配算法。

基本思想

设有两个字符串s和t,首先将s1与t1进行比较,直到s的某一个字符si和ti相同,再将它们之后的字符进行比较,若也相同,则如此继续往下比较,当s的某一个字符si与t的字符tj不同时,则s返回到本趟开始字符的下一个字符,即si-j+2,t返回到t1,继续开始下一趟的比较,重复上述过程。若t中的字符全部比较完,则说明本趟匹配成功,本趟的起始位置是i-j+1,否则,匹配失败。

具体算法

顺序定长存储字符串类型

struct seqstr

{char string[max] ;

int len : } ;

int index ( struct seqstr *s ,struct seqstr * t )

{

int I , j ;

i=0 ;

j=0 ;

while ( i<s->len&&j<t->len )

if ( s->string[i] == t->string[j])

{ i++ ;

j++ ; }

else

{ i=i-j+1 ;

j=1; }

if ( j>=t->len )

return( j-t->len) ;

else

return( -1) ;

}

最佳答案
你好。
很幸运看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
希望我的回答也能够帮到你!
祝你好运~!
全部回答

实现的函数

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
诺基亚6120c有冒泡社区吗?
动物天气谚语,有关动植物预告天气的简单俗语
音速1级到几级可以开图标(我有六颗种子)需要
六道没有写坏蛋3了吗?
什么手机待机时间长,而价格便宜
随便看看吧!
最初英语和汉语是怎么实现互译的
人工如何养殖蜘蛛
WAPQQ的金币有什么用?
你怎样去看待别人的看法?
买电脑也安装,总之,什么都包括,该需要多少
农历一至十二月分别代表哪些星座
我刚才充值的元宝为什么没有到帐户?
为什么我的超级QQ不死啊,这个超级QQ 是免费
梦见别人死了,喷了很多血在自己身上
推荐资讯
征求吸血鬼的小说。
DNF里怎么用空中连斩啊、我跳的还是那么高啊
脸上的疤痕在做过整形后可以完全好吗?如果做
如何能使自己变得快乐?
表示重阳节的诗句,关于重阳节的古诗词
重庆的县有哪些,重庆中央公园的景区有哪些?
E66还有6120c那个好
龙之谷交易场
有哪位专家估算一下扬树未来几年的价格会不会
梦幻西游深圳2区金沙滩湾谁有无级别的武器?
If I died,who would miss me什么意思
DNF广东九区碧影凝光剑
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?