永发信息网

c++数据结构中关于串的问题

答案:1  悬赏:0  手机版
解决时间 2021-04-14 14:00

#include<iostream.h>
const int max=100;
struct seqstring
{
char ch[max];
int curlen;
};

void push(seqstring &T,seqstring &S)
{
char x,y;
cout<<"请输入T串:"<<endl;
cin>>x;int p=1;
while(x!='#')
{
T.ch[p]=x;
cin>>x;
T.curlen++;
}
cout<<"请输入S串:"<<endl;
cin>>y;int j=1;
while(y!='#')
{
S.ch[j]=y;
cin>>y;
S.curlen++;
}

}

void insert(seqstring &T,int i,seqstring S)
{
if(T.curlen+S.curlen>max)
cout<<"存储已满";
else
{
for(int j=T.curlen;j>=i;j--)
T.ch[j+S.curlen]=T.ch[j];
for(j=1;j<S.curlen;j++)
T.ch[j+i-1]=S.ch[j];
T.curlen=T.curlen+S.curlen;
}
}

void print(seqstring T,seqstring S)
{
for(int i=1;i<=T.curlen;i++)
cout<<T.ch;
for(int j=1;j<=S.curlen;j++)
cout<<S.ch[j]<<endl;
}

int index(seqstring T,seqstring S)
{
int i=1,j=1;
while ((i<S.curlen)&&(j<=T.curlen))
{
if(T.ch[i]==S.ch[j])
{i++,j++;}
else
{i=i-j+2;j=1;}
}
if(j>S.curlen)
return (i-S.curlen);
else return(0);
}

void main()
{
seqstring T,S;
int j,k;
do
{
cout<<"\n\n\n\n";
cout<<"\t\t\t 串的运算\n";
cout<<"\t\t*****************************************\n";
cout<<"\t\t 1---输入数据 *\n";
cout<<"\t\t 2---插入数据 *\n";
cout<<"\t\t 3---子串定位 *\n";
cout<<"\t\t 4---显示数据 *\n";
cout<<"\t\t 0---返 回 *\n";
cout<<"\t\t*****************************************\n";
cout<<"\t\t 请选择菜单项0-4:";
cin>>k;
switch(k)
{
case 1:
push(T,S);break;
case 2:
cout<<"请输入要插入的位置:"<<endl;cin>>j;
insert(T,j,S);break;
case 3:
index(T,S);break;
case 4:
cout<<"数据有:"<<endl;
print(T,S);
}
}while(k!=0);
}

最佳答案
代码看起来有点累,你说明一下想修改什么,是程序没达到你预想的效果吗?具体表现在哪里不理想?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
喝酒后肚子好胀,到第二天还不会消化怎么办?
fantercy 意思
求长沙婚庆公司资料
单选题Give________________acupoftea,pleas
武林外转,我在问问上的竟猜答案咋都是四数字
浙江省温岭市久久建设有限公司在什么地方啊,
探本溯源是指什么意思,追溯和溯源有什么区别
特岗教师参考书
爱情路 郑源 为啥这么火,能到百度第三名
免费下载音乐速度快而且完整的下载网站
电脑不能下载是怎么搞的啊?
cf怎么窗口化
国庆庆典的道具如何处理
【小题1】我从汤姆那儿借来一本书。【小题2】
用不完的南瓜泥,怎么处理呢?
推荐资讯
没有离婚证怎么分家产
张大伯要在一个长方形菜园里挖一个圆形水塘(
回族归真以后躺倒木匣子上亡人身上盖的什么
搜集有关德语的网站.....
广州白云机场到东圃
追星迷们大都是什么年龄阶段呢
求助懂装修的:浴室的墙上刷了防水涂料,是不
计算36除以6和36除以9时 乘法口诀相同吗
我喜欢个女孩怎么追阿
成人和儿童脉搏少于多少进去心肺复苏
梦幻西游我区的比例是10块钱65万的样子,进阶
百度云盘有病毒吗,在百度云下的东西会有毒吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?