数据结构课件第四章数据结构课件串幻灯片.ppt

数据结构课件第四章数据结构课件串幻灯片.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 在进行文本编辑时,我们把整个文本看成是一个字符串,称为文本串,页则是文本串的子串,行又是页的子串。例如有下列一段源程序: program p; var i,j,k:integer; begin read(i,j); if ij then k:=j else k:=i; writeln(k) end. 文本串的存储示意图: 201 221 241 261 ……. P r o g r a m p ; v a r i , j , k : i n t e g e r ; * 为了管理文本串的页和行,要为文本串建立相应的页表和行表,即各子串的存储映象。 行号 起始地址 长度 101 201 11 102 212 20 …… (1)页表:每一项包含页号、该页的起始行号; 页号 起始行号 1 11 …… (2)行表:每一项包含行号、该行的起始地址、长度; * 文本串的基本操作: (1)在某行内插入或删除若干字符。 (2)插入或删除一行。 (3)查找子串。 * 2.写出定长顺序存储结构的strdelete-ss(s,pos,len)操作的算法。 3.上机题:编写程序,完成定长顺序存储结构的strinsert-ss(s,pos,t) 和strdelete-ss(s,pos,len)操作。 strinsert界面要求: 输入串S:abcdefgh# 输入插入串t:123# 输入插入位置:5 串S的新值: abcd123efgh Strdelete界面要求: 输入串S:abcdefgh# 输入删除位置:3 输入删除长度:2 串S的新值:abefgh 作业: 1.用5种串的基本操作(strassign、strcompare、strlength、concat、substring)来 逻辑实现strdelete(s,pos,len)操作. (注:格式参照p72算法4.1,即不考虑串的存储结构) * 第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.3 串的模式匹配算法 4.4 串操作应用举例 * 4.1.1 串的逻辑结构定义 串—— 是由零个或多个字符组成的有限序列。 一般记为: S=‘a1a2…an’ (n=0) 长度—— 串中字符的数目。 空串—— 零个字符的串,用符号φ来表示空串。 子串—— 串中任意个连续的字符组成的子序列。 主串—— 包含子串的串。 位置—— 字符在序列中的序号为该字符在串中的位置。 例:a=‘bei’ b=‘jing’ c=‘beijing’ d=‘bei jing’ 则:a,b,c,d的长度分别为:3、4、7、8。 a、b是c和d的子串。 a 在c和d中的位置都是1。 b在c中的位置是4,在d中的位置是5 * 相等—— 当两个串的长度相等,并且各个对应位置的字符都相等,则称两个串是相等的。 空格串—— 由一个或多个空格组成的串称为空格串。 注意:串值必须用一对单引号括起来,但单引号本身不 属于串。 例: x=‘123’; x=123; tsing=‘tsing’ * 串的抽象数据类型的定义: ADT String{ 数据对象:D={ai|ai(-CharacterSet,i=1,2,...,n,n=0} 数据关系:R1={ai-1,ai|ai-1,ai(-D,i=2,...,n} 基本操作: StrAssign(T,chars) chars是字符常量。生成一个其值等于chars的串T。 StrCopy(T,S) 串S存在则由串S复制得串T StrEmpty(S) 串S存在则若S为空串,返回真否则返回假 StrCompare(S

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档