数据结构 第4章 串

上传人:努力****83 文档编号:189028196 上传时间:2023-02-21 格式:PPT 页数:35 大小:188.50KB
收藏 版权申诉 举报 下载
数据结构 第4章 串_第1页
第1页 / 共35页
数据结构 第4章 串_第2页
第2页 / 共35页
数据结构 第4章 串_第3页
第3页 / 共35页
资源描述:

《数据结构 第4章 串》由会员分享,可在线阅读,更多相关《数据结构 第4章 串(35页珍藏版)》请在装配图网上搜索。

1、23.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.21ADT String 数据对象数据对象:D=ai|aiCharacterSet,i=1,2,n,n0 数据关系数据关系:R1=|ai-1,aiD,i=2,3,n 基本操作:基本操作:ADT String23.2.2123.2.21基本操作:StrAssign(&T,chars)StrCopy(&T,S)StrEmpty(S)StrCompare(S,T)StrLength(S)ClearString(&S)Concat(&T,S1,S2)SubString

2、(&Sub,S,pos,len)Index(S,T,pos)Replace(&S,T,V)StrInsert(&S,pos,T)StrDelete(&S,pos,len)DestroyString(&S)23.2.2123.2.21uStrAssign(&T,chars)初时条件:初时条件:chars是字符串常量。是字符串常量。操作结果:把操作结果:把chars赋为赋为T的值。的值。uStrCopy(&T,S)初时条件:串初时条件:串S存在存在操作结果:由串操作结果:由串S复制得串复制得串T。uStrEmpty(S)初时条件:串初时条件:串S存在。存在。操作结果:若操作结果:若S为空串,则返回

3、为空串,则返回TRUE,否,否则返回则返回FALSE。23.2.2123.2.21uStrCompare(S,T)初时条件:串初时条件:串S和和T存在。存在。操作结果:若操作结果:若ST,则返回则返回0 若若S=T,则返回则返回=0 若若ST,则返回则返回0uStrLength(S)初时条件:串初时条件:串S存在存在操作结果:返回操作结果:返回S的元素个数,称为串的长的元素个数,称为串的长度。度。23.2.2123.2.21uClearString(&S)初时条件:串初时条件:串S存在。存在。操作结果:将操作结果:将S清为空串。清为空串。uConcat(&T,S1,S2)初时条件:串初时条件:

4、串S1和和S2存在。存在。操作结果:用操作结果:用T返回由返回由S1和和S2联接而成的联接而成的新串。新串。23.2.2123.2.21uSubString(&Sub,S,pos,len)初时条件:串初时条件:串S存在,存在,1posStrLength(S)且且 1lenStrLength(S)-pos1。操作结果:用操作结果:用Sub返回串返回串S的第的第pos个字符起个字符起 长度为长度为len的子串。的子串。uIndex(S,T,pos)初时条件:串初时条件:串S和和T存在,存在,T是非空串,是非空串,1posStrLength(S)操作结果:若主串操作结果:若主串S中存在与串中存在与串

5、T相同的子相同的子 串,则返回它在主串串,则返回它在主串S中的第中的第pos 个字符之后第一次出现的位置,个字符之后第一次出现的位置,否则返回否则返回0。23.2.2123.2.21uReplace(&S,T,V)初时条件:串初时条件:串S,T和和V存在,存在,T是非空串。是非空串。操作结果:用操作结果:用V替换主串替换主串S中出现的所有与中出现的所有与 T相等的不重叠子串。相等的不重叠子串。uStrInsert(&S,pos,T)初时条件:串初时条件:串S和和T存在,存在,1posStrLength(S)1。操作结果:操作结果:在串在串S的第的第pos个字符之前插入串个字符之前插入串T.23

6、.2.2123.2.21uStrDelete(&S,pos,len)初时条件:串初时条件:串S存在存在,1posStrLength(S)-len1。操作结果:从串操作结果:从串S中删除第中删除第pos个字符起长个字符起长 度为度为len的子串。的子串。uDestroyString(&S)初时条件:串初时条件:串S存在存在.操作结果:串操作结果:串S被销毁。被销毁。23.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.

7、2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.2123.2.21 串的链式存储结构和线性表的串的链式存串的链式存储结构和线性表的串的链式存储结构类似,采用单链表来存储串,结点的储结构类似,采用单链表来存储串,结点的构成是:构成是:udatadata域:存放字符,域:存放字符,datadata域可存放的字符域可

8、存放的字符个数称为结点的大小;个数称为结点的大小;unextnext域:存放指向下一结点的指针。域:存放指向下一结点的指针。若每个结点仅存放一个字符,则结点的指若每个结点仅存放一个字符,则结点的指针域就非常多,造成系统空间浪费,为节省针域就非常多,造成系统空间浪费,为节省存储空间,考虑串结构的特殊性,使每个结存储空间,考虑串结构的特殊性,使每个结点存放若干个字符,这种结构称为块链结构。点存放若干个字符,这种结构称为块链结构。23.2.2123.2.2123.2.2123.2.21 在这种存储结构下,结点的分配总是在这种存储结构下,结点的分配总是完整的结点为单位,因此,为使一个串完整的结点为单位,因此,为使一个串能存放在整数个结点中,在串的末尾填能存放在整数个结点中,在串的末尾填上不属于串值的特殊字符,以表示串的上不属于串值的特殊字符,以表示串的终结。终结。当一个块当一个块(结点结点)内存放多个字符时,内存放多个字符时,往往会使操作过程变得较为复杂,如在往往会使操作过程变得较为复杂,如在串中插入或删除字符操作时通常需要在串中插入或删除字符操作时通常需要在块间移动字符。块间移动字符。a b c e p c g#head串的块链式存储结构示意图串的块链式存储结构示意图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!