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

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 串 串(即字符串)是一种特殊的线性表,它的数据元素仅由一个字符组成。 本章主题:串的各种基本运算及其实现 教学目的:了解串的基本概念,理解常用术语 教学重点: 掌握串的基本概念及其基本运算 掌握串的存储结构 主要内容: 4.1 串及其基本运算 4.2 串的存储结构及基本运算实现 4.1 串及其基本运算 4.1.1 串的基本概念 4.1.2 串的基本运算 4.1.1 串的基本概念 串:是由零个或多个任意字符组成的字符序列。一般记作:s=‘s1 s2 … sn’ 串名:s 是串名; 串的定界符:用单引号作为串的定界符; 串值:引号引起来的字符序列为串值,引号本身不属于串的内容; 串的元素:ai (1=i=n)是一个任意字符,它称为串的元素,是构成串的基本单位。 串中的序号:i 是它在整个串中的序号; 串的长度:n为串的长度,表示串中所包含的字符个数; 空串:当n=0时,称为空串,通常记为Ф。 空格串:由一个或多个空格组成。 若串中含有空格,在计算串长时,空格应计入串的长度中 例如:s=‘I am a student’的长度为14。 例 s=‘ ’ 注意与空串的区别。 子串:串中任意连续的字符组成的子序列称为该串的子串; 主串:包含子串的串相应地称为主串。 子串的位置:子串的第一个字符在主串中的序号称为子串的位置。 例:串 a=‘BEI’, b=‘JING’, c=‘BEIJING’, d=‘BEI JING’ 长度分别为:3,4,7,8 a, b 是c, d 的子串,a 在c, d中的位置为1,b 在c中的位置为4, b在d中的位置为5 串相等:称两个串是相等的,是指两个串的长度相等且对应字符都相等。 例:a, b, c, d都不相等 串是一种简单的数据结构,它的逻辑结构与线性表十分相似,区别仅在于串的数据对象是字符集。 串的基本运算与线性表的基本运算有很大差别。通常在串的基本运算中,以“串的整体”作为操作对象;而在线性表的基本运算中,大多以“单个元素”作为操作对象。 4.1.2 串的基本运算 1.求串长StrLength( s ) 操作条件:串s存在 操作结果:求出串s的长度。 2.串赋值StrAssign( s1, s2 ) 操作条件:s1是一个串变量,s2或者是一个串常量,或者是一个串变量(通常s2 是一个串常量时称为串赋值,是一个串变量称为串拷贝,StrCopy( s1, s2 ) )。 操作结果:将s2的串值赋值给s1, s1原来的值被覆盖掉。 例:执行StrAssign( s,‘abcd’ )运算之后,s的值为‘abcd’。 例:t=‘abcd’,则执行StrCopy( s, t )运算之后,s的值为‘abcd’ 。 3.连接操作 :StrConcat ( s1, s2, s ) 或 StrConcat ( s1, s2 ) 操作条件:串s1, s2存在。 操作结果:将一个串的串值紧接着放在另一个串的后面,连接成一个串。 前者是产生新串s,s1 和s2不改变; 后者是在s1的后面联接s2的串值,s1改变, s2不改变。 例: s1=‘he’,s2=‘ is’ 前者操作结果是:s=‘he is’ 后者操作结果是:s1=‘he is’ 4.求子串SubStr ( s, i, len ) 操作条件:串s存在,1≤i≤StrLength(s),0≤len≤StrLength(s)-i+1。 操作结果:返回从串s的第i个字符开始的长度为 len 的子串。len=0得到的是空串。 例:SubStr( ‘abcdefghi’, 3, 4 )=‘cdef’ 5.串比较 StrCmp( s1, s2 ) 操作条件:串s1,s2存在。 操作结果:若s1==s2,操作返回值为0;若s1s2, 返回值0;若s1s2, 返回值0。 例: s1=‘he’,s2=‘is’ StrCmp( s1, s2 ) 操作返回值0 例: s1=‘is’,s2=‘he’ StrCmp( s1, s2 ) 操作返回值0。 6.子串定位 StrIndex( s, t ):找子串t在主串s中首次出现的位置

文档评论(0)

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

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

1亿VIP精品文档

相关文档