数据结构C语言串的基本操作

上传人:公**** 文档编号:469665254 上传时间:2023-10-16 格式:DOC 页数:13 大小:166.51KB
返回 下载 相关 举报
数据结构C语言串的基本操作_第1页
第1页 / 共13页
数据结构C语言串的基本操作_第2页
第2页 / 共13页
数据结构C语言串的基本操作_第3页
第3页 / 共13页
数据结构C语言串的基本操作_第4页
第4页 / 共13页
数据结构C语言串的基本操作_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据结构C语言串的基本操作》由会员分享,可在线阅读,更多相关《数据结构C语言串的基本操作(13页珍藏版)》请在金锄头文库上搜索。

1、串的基本操作#include#include#include#define m 100typedef structchar chm;int length;Hstr;void main()Hstr *l,*p,*r;char c,w;int h,j,k;int i=0;l=(Hstr *)malloc(sizeof(Hstr);p=(Hstr *)malloc(sizeof(Hstr);r=(Hstr *)malloc(sizeof(Hstr);l-length=0; p-length=0;r-length=0;printf(请选择相关操作(数字15控制,输入0结束)n);printf(-1.建

2、立串-n);printf(-2.显示串长度-n);printf(-3.生成与原来相同的串-n);printf(-4.串比较-n);printf(-5.串连接-n);printf(-6.返回值-n);scanf(%c,&w);getchar();while(w)switch(w)case 1:printf(请输入字符(#结束):n);scanf(%c,&c);while(c!=#) l-length+;l-chi=c;i+;scanf(%c,&c);printf(串中字符为n);for(i=0;ilength;i+)printf(%c,l-chi); printf(n);break;case 2

3、: printf(串长度为%dn,l-length);break;case 3: for(i=0;ilength;i+) p-chi=l-chi; p-length=l-length; printf(复制的串中字符为n);for(i=0;ilength;i+)printf(%c,p-chi); printf(n); break;case 4:i=0;printf(请输入要与原串比较的字符串(#结束):n);scanf(%c,&c);while(c!=#) r-length+;r-chi=c;i+;scanf(%c,&c);printf(第二个串中字符为n);for(i=0;ilength;i+

4、)printf(%c,r-chi); printf(n); for(i=0;ilength&ilength;i+)if(l-chi!=r-chi)if(l-chi-r-chi)chi-r-chi)0)printf(第一个串大); printf(n);break;if(i=r-length|i=l-length)printf(两个串一样大n); break;case5:i=0;printf(请输入要与原串连接的串(#结束)n); scanf(%c,&c);while(c!=#)r-length+;r-chi=c;i+;scanf(%c,&c);printf(第二个串中字符为n);for(i=0;

5、ilength;i+)printf(%c,r-chi); printf(n);for(i=0,j=0;ilength;i+,j+)l-chl-length+i=r-chj;l-length=l-length+r-length;printf(连接后第一个串中字符为n);for(i=0;ilength;i+)printf(%c,l-chi); printf(n);break;case 6:i=0;printf(请输入要找串的起始位置(第几个字符?)n); scanf(%d,&h); printf(请输入要找的字符个数n); scanf(%d,&k); printf(内容为:n); for(i=0;

6、ichh-1); h+; printf(n); break;getchar();printf(请选择相关操作(数字16控制,输入0结束)n);printf(-1.建立串-n);printf(-2.显示串长度-n);printf(-3.生成与原来相同的串-n);printf(-4.串比较-n);printf(-5.串连接-n);printf(-6.返回值-n); scanf(%c,&w);getchar();模式匹配#include#include#include#define bool int#define true 1#define false 0typedef structchar *ch

7、;int length;HString;bool assign(HString *t,char *chs)int i=0;char *c=chs,*d=chs;while(ci)/c不为空时进入循环i+;/计算字符串常量chs的长度if(!i)t-ch=NULL;t-length=0;elset-ch=(char*)malloc(i*sizeof(char);c=t-ch;if(!t-ch)/如果没有申请到空间return -1;while(*chs)/chs不为空时进入循环*c+=*chs+;t-length=i;return true;bool insert(HString *s,int

8、pos,HString *t)if(poss-length)return false;if(t-length)/t非空int i=0;if(!(s-ch=(char*)realloc(s-ch,(s-length+t-length)*sizeof(char)exit(-1);for(i=s-length-1;i=pos;i-)s-chi+t-length=s-chi;for(i=0;ilength;i+)s-chpos+i=t-chi;s-length+=t-length;return true;int strLength(HString *s)return s-length;int strC

9、ompare(HString *s,HString *t)int i;for(i=0;ilength&ilength;i+)if(s-chi!=t-chi)return s-chi - t-chi;return s-length - t-length;bool subString(HString *sub,HString *s,int pos,int len)if(pos=s-length|len s-length)return false;if(sub-ch)free(sub-ch);if(!len)sub-ch=NULL;sub-length=0;elseint i=0;sub-ch=(c

10、har*)malloc(len*sizeof(char);for(;ichi=s-chpos+i;sub-length=len;return true;void printStr(HString *t)int i=0;while(i+length)putchar(t-chi-1);/printf(第%d个:%cn,i-1,t-chi-1);putchar(n);int indexBF(HString *s,HString *t,int pos)int i=pos,j=0;if(pos0) return -1;while(i length & j length)if(s-chi=t-chj)i+;j+;else

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 汽车技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号