- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 线性数据结构 ch2_4串1 《软件技术知识基础》 .ppt
* 2.4 串 2.4.1 串类型的定义 2.4.2 串的存储结构 2.4.3 串的基本运算 2.4.4 串的模式匹配 小结 §2.4.1 串类型的定义 定义 串(String)是零个或多个字符组成的有限序列。 记作S=“a1a2a3…an”, 其中S 是串名,双引号括起来的字符序列是串值;ai(1≦i≦n)可以是字母、数字或其它字符; 特点 串中所包含的字符个数n称为该串的长度。 空串:零个字符的串。 子串:串中任意个连续的字符组成的子序列。 主串:包含子串的串。 特点 位置:字符在序列中的序号为该字符在串中的位置。 子串在主串中的位置以子串的第一个字符在主串中的首次出现的位置来表示。 §2.4.1 串类型的定义 例如,设A和B分别为 A=“This is a string” B=“is” 则B是A的子串,A为主串。B在A中出现了两次,其中首次出现所对应的主串位置是3。因此,称B在A中的序号(或位置)为3 通常将仅由一个或多个空格组成的串称为空白串(Blank String) 空串和空白串的不同,例如“ ”和“”分别表示长度为1的空白串和长度为0的空串。 特别地,空串是任意串的子串,任意串是其自身的子串。 2.4.2 串的存储结构 顺序存储结构 用一组连续的存储单元依次存储串中的各个字符 紧缩方式:以字节为单位顺序存储串中的每个字符,一个字可存放多个字符。 P R O G R A M M I N G 紧缩方式:一个字可存放多个字符 若一个字为四个字节,则一个字可存放四个字符, “programming”需三个字存储 顺序存储结构 用一组连续的存储单元依次存储串中的各个字符 紧缩方式:以字节为单位顺序存储串中的每个字符,一个字可存放多个字符。 2.4.2 串的存储结构 非紧缩方式:以一个字为存储单位 顺序存储串中的每个字符 P R O G R A M M I N G 非紧缩方式:一个字只存放一个字符 求串的长度 顺序存储方式求长度 int S_strlen(char *s) { int k=0; char *t=s; while(*t++!=‘\0’) k++; return k; } 链接存储方式求长度 int L_strlen(NODE *s) //一般链接方式 { NODE *p; int k=0; for(p=s; p!=NULL; k++) p=p-next; return k; }//linkstrl.c 2.4.3 串的基本运算 字符串比较 顺序存储方式串的比较 int S_strcmp(char *s1, char *s2) { char *p1=s1; *p2=s2; while(*p1==*p2 *p1!=‘\0’ *p2!=‘\0’) { p1++; p2++; } return (*p1-*p2); } 链接存储方式串的比较 字符串比较 int L_strcmp(NODE *s1, NODE *s2) { NODE *p1=s1,*p2=s2; while(p1-data==p2-data p1!=NULL p2!=NULL) { p1=p1-next; p2=p2-next; } if(p1==NULLp2==NULL) return 0; else if(p1==NULL) return –1; else if(p2==NULL) return 1; else return (p1-data- p2-data); } LINKSTRC.c 顺序存储方式串的连接 串的连接 int S_strcat(char *s1 , char *s2) { int k,m,n; char *p1=s1,*p2=s2; m=S_strlen(s1); n=S_strlen(s2); if(m+nMAXSIZE) return –1; //空间不够连接失败 for(k=0,p1=p1+m; k=n;k++) *p1++=*p2++; //将s2(连同结尾标志)复制到s1后面 return 1; } 链接存储方式串的连接 串的连接 void L_strcat(NODE *s1, NODE *s2) { NODE *p; if(s1==NULL) s1=s2; /*s1为空表时*/ e
您可能关注的文档
- 第二章 儿童心理的发展的生物学基础 《儿童的发展心理学》课件.ppt
- 第二章 儿童早期心理的发展的基础 《学前儿童的发展心理学》课件.ppt
- 第二章 光辐射的调制 光电技术知识.ppt
- 第二章 公关关系的起源与的发展 公共关系.ppt
- 第二章 内存寻址 《Linux操作系统原理和 与应用》电子教案.ppt
- 第二章 内部沟通和 与人类心智模式 商务沟通 .ppt
- 第二章 农业技术知识进步:内涵与机制 农业技术知识经济学 课件.ppt
- 第二章 农业生物环境工程和 与设施农业 农业工程概论 2.ppt
- 第二章 农业生物环境工程和 与设施农业 农业工程概论 3 .ppt.ppt
- 第二章 冯特和 与德国的心理学 .ppt
- 第二章 线性数据结构 ch2_5多维数组和广义表2 《软件技术知识基础》 .ppt
- 第二章 线性数据结构 第 2 节 栈 《软件技术知识基础》 .ppt
- 第二章 线性数据结构 《软件技术知识基础》 .ppt
- 第二章 线性数据结构2 《软件技术知识基础》 .ppt
- 第二章 细胞的基本的 功能生理学基础课件.ppt
- 第二章 经典分离方法 现代分离科学与技术知识 .ppt
- 第二章 经济全球化时代的到来与世界经济的新的发展 世界经济课件.ppt
- 第二章 经济效益分析 化工技术知识经济学PPT.ppt
- 第二章 结构化程序的设计 JAVA.ppt
- 第二章 继承爱国传统 弘扬民族精神 (NXPowerLite) 思想道德修养和 与法律基础 课件.ppt
文档评论(0)