网站大量收购独家精品文档,联系QQ:2885784924

[理学]严蔚敏数据结构-第四章 串.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]严蔚敏数据结构-第四章 串

第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.3 串的模式匹配算法 4.4 串操作应用举例 第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.3 串的模式匹配算法 4.4 串操作应用举例 //---基本操作的算法描述 --- Status StrAssign(HString T, char *chars){ // 生成一个其值等于串常量chars的串T if(T.ch) free(T.ch); // 释放T原有空间 for(i=0, c=chars; c; ++i, ++c); // 求chars的长度i if(!i) { T.ch = NULL; T.length = 0; } else { if(!(T.ch = (char *)malloc(i*sizeof(char)))) exit (OVERFLOW); T.ch[0..i-1] = chars[0.. i-1]; T.length = i; } return OK; } // StrAssign int StrLength(HString S){ // 返回S的元素个数,称为串的长度。 return S.length; } //StrLength int StrCompare(HString S, HString T){ // 若ST,则返回值0;若S=T,则返回值=0;若ST,则返回值0。 for(i=0; iS.length iT.length; ++i) if(S.ch[i] != T.ch[i]) return S.ch[i] - T.ch[i]; return S.length - T.length } // StrCompare Status ClearString(HString S){ // 将S清为空串。 if(S.ch) { free(S.ch); S.ch = NULL; } S.length = 0; return OK; } // ClearString Status Concat(HStirng T, HString S1, HString S2){ // 用T返回由S1和S2联接而成的新串。 if(T.ch) free(T.ch); // 释放旧空间 if(!(T.ch = (char *) malloc((S1.length+S2.length)*sizeof(char)))) exit(OVERFLOW); T.ch[0..S1.length-1] = S1.ch[0..S1.length-1]; T.length = S1.length +S2.length; T.ch[S1.length..T.length-1]= S2.ch[0..S2.length-1]; return OK; } //Concat; Status SubString(HString Sub, HString S, int pos, int len){ // 用Sub返回串S的第pos个字符起长度为len的子串。 // 其中,1=pos=StrLength(S)且0=len=StrLength(S)-pos+1。 if(pos1 || posS.length || len0 || lenS.length-pos+1) return ERROR; if(Sub.ch) free(Sub.ch); // 释放旧空间 if(!len) { Sub.ch = NULL; Sub.length = 0; } // 空子串 else { // 完整子串 Sub.ch = (char *)malloc(len*sizeof(char)); Sub.ch[0..len-1] = S.ch[pos-1..pos+len-2]; Sub.length = len; } return OK; } // SubString 4.2.3 串的块链存储表示 例: s=‘abcdefghi’ i # # # ^ head a b c d e f g h head a b c … i ^

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档