- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 第三章 计算机专业课
第四章 串 基本概念 ClearString (S) 初始条件:串S存在。 操作结果:将S清为空串。 StrEmpty (S) 初始条件:串S存在。 操作结果:若S为空串,则返回TRUE,否则返回FALSE。 StrCompare (S, T) //串比较 初始条件:串S和T存在。 操作结果:若ST,则返回值0; 若S=T,则返回值=0; 若ST,则返回值0。 Concat (T, S1, S2) //串联接 初始条件:串S1和S2存在。 操作结果:用T返回由S1和S2联接而成的新串。 SubString (Sub, S, pos, len) //求子串 初始条件:串S存在,1≤pos≤StrLength(S)且0≤len≤StrLength(S)-pos+1。 操作结果:用Sub返回串S的第pos个字符起长度为len的子串。 StrInsert (S, pos, T) 初始条件:串S和T存在, 1≤pos≤StrLength(S)+1。 操作结果:在串S的第pos个字符之前插 入串T。 StrDelete (S, pos, len) 初始条件:串S存在, 1≤pos≤StrLength(S)-len+1。 操作结果:从串S中删除第pos个字符起 长度为len的子串。 2.求子串SubString(Sub, S, pos, len) 4.2.2 堆(HEAP)分配存储表示 4.2.3 块链存储表示 int Index(SString S,SString T,int pos) { /* 返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0。 */ /* 其中,T非空,1≤pos≤StrLength(S)。 int i,j; i=pos; j=1; while(i=S[0]j=T[0]) { if(S[i]==T[j]) /* 继续比较后继字符 */ { ++i; ++j; } else /* 指针后退重新开始匹配 */ { i=i-j+2; j=1; } } if(jT[0] return i-T[0]; else return 0; } 1. 串赋值 Status StrAssign(HstringT,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 2.串比较 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 3. 串联接 Status Concat(HstringT,HStringS1,HstringS2){ //用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+ S
您可能关注的文档
最近下载
- 2025年东莞市南开实验学校高一入学分班考试语文作文猜题及范文分析.docx
- 中国成人念珠菌病诊断与治疗专家共识解读PPT课件.pptx VIP
- 野生菌中毒护理查房.pptx VIP
- 年产2万吨生物基全降解塑料项目可行性研究报告.docx
- FIDIC 认证项目经理水平考试试卷与答案.doc
- 48V100A储能电池BMS规格书(带10A限流)CAN+RS485.docx VIP
- 中国教育史(近代)课件.ppt VIP
- 2005年广东高考物理试卷真题及答案.doc VIP
- 2005年高考数学(广东卷)试题及答案.doc VIP
- (高清版)DB41∕T 1432-2017 精密耐震压力表.pdf VIP
文档评论(0)