数据结构第四章串题稿.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 堆分配存储表示 4.2.3 块链存储表示 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+ S2.length; T.ch[S1.length …T.length- 1]=S2.ch[0…S2.length- 1]; return OK; }// Concat * 4.1 串类型的定义 4.2 串的表示和实现 学习提要: 1.熟悉串的基本操作的定义,并能利用这些 基本操作来实现串的其它各种操作的方法。 2.熟练掌握在串的定长顺序存储结构上实现串的各种操作的方法。 3.掌握串的堆分配存储结构以及在其上实现串操作的基本方法。 4.了解串的块链存储结构。 重难点内容: 串的存储结构 串(string):由零个或多个字符组成的有限序列,也称字符串。记为: S = ‘a1a2a3……an’ (n≥0) 如:A= ‘BEIJING’, B=

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档