- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 ^
您可能关注的文档
- [理学]4《有机化学》第二版-徐寿昌-高等教育出版社——————第四章.ppt
- [理学]43 大豆的应用.ppt
- [理学]4土中应力计算.ppt
- [理学]4随机变量的数字特征.ppt
- [理学]4平均数比较3.doc
- [理学]42 换元积分法学生版.ppt
- [理学]4狭义相对论.ppt
- [理学]5 磁能位移电流麦克斯韦方程组.ppt
- [理学]5--三维作图.ppt
- [理学]5-7 定积分应用之习题课.ppt
- 2023咸阳职业技术学院招聘笔试真题参考答案详解.docx
- 2023四川化工职业技术学院招聘笔试真题及参考答案详解.docx
- 2023哈尔滨职业技术学院招聘笔试真题及参考答案详解.docx
- 2023商洛职业技术学院招聘笔试真题及答案详解1套.docx
- 2023呼伦贝尔职业技术学院招聘笔试真题参考答案详解.docx
- 2023南阳农业职业学院招聘笔试真题参考答案详解.docx
- 2023天津公安警官职业学院招聘笔试真题带答案详解.docx
- 2023年上海电机学院招聘笔试真题参考答案详解.docx
- 2023年四川艺术职业学院招聘笔试真题参考答案详解.docx
- 2023安徽体育运动职业技术学院招聘笔试真题及答案详解一套.docx
文档评论(0)