版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、字符串及稀疏矩阵、广义表一、字符串的存储及操作运算1、字符串变量、字符数组:顺序存储,链接表结构顺序存储 :每个字符占用一个字节(8位二进制),一般用字符数组或字符串变量。字符串变量相当于一维的字符数组 字符串变量:var st1 :array 1.15 of char ; 表示固定长度存储 var st2 : string 15 ; 非固定长度,最长=15 (3) 链接表结构 : type point = node node= record ch : char ; next : point ; end; A da next2、字符串运算:(1)连接运算:将两个字符串首尾相连成一个字符串(2)
2、取子串运算:从第i 个位置开始,取n个字符(3)删除子串运算:从第i 个位置开始,删除n个字符(4) 插入子串运算:插入到某个位置(5)求子串的位置:用回溯算法实现求子串的位置。字符串的连接运算 : 将第二个字符串合并到第一个字符串尾部其它操作可以利用pascal 的过程与函数Pascal 字符串过程与函数(1) 字符串合并 : st : =concat(s1,s2,s3, sn) ;截取子字符串 :st:= copy(s1 , pos , len ) ;删除一个子串: delete( s1 , pos , len ) ;插入子串 : st:= (s1, d , pos ) 从某位开始插入d
3、字符串 求字符串长度 : len := length( s1) ; 求子串的位置 问题分析:读入两个字符串:ch1,ch2求ch2在ch1中的位置:例如:ch1= a b s y t k n m s x t h j k , ch2= s x t I=1 j=1 ch1i ch2j 开始做:i:=I+1 ;直到 ch1 I = ch21 a b s x y t k n m s x t h j k s x t I=3 j=1 I=5, j=3 不相等, 则I回到上一个位置 I= I-j +2 j=1 (3) 当jL2则输出子串位置 : I- L2 即为子串的位置。程序如下: type pstr=r
4、ecord vec : string ; len: integer ; end ; var r1,r2 : pstr ; y, l1,l2 : integer ; function pos(r1, r2 :pstr): integer ; var x, j : integer ; begin x:=1 ; j:=1; Whtile (x=r1.len ) and ( jr2.len then pos:= x r2.len else pos:=0 ;End ; begin (1) 输入字符串 1 (2) 输入字符串 2 (3) 分别计算两个字符串的长度 (4) 调用函数 y:= pos( r1,
5、 r2 ) (5) 输出 Y 的值 二、应用:例题1, 求n个字符串的最长公共子串(n20,字符串的长度=1) do begin I:=1 ; while not(found) and ( I= min-len+1) do Begin for j:=1 to len do longestj:= chI+j-1 ; longest0:=chr(len) ; found := true ; k:=1 ; while found and (k=n) do begin if not(check(longest,strk) then found :=false ; k:=k+1 ; end; if k=
6、 n then found :=false ; I:=I+1 ; end ; len:=len-1 ;End ; If found then 输出最长公共子串 else 没有公共子串二、稀疏矩阵1、矩阵中非零元素的个数远远少于零元素的个数,这样的矩阵称为非零矩阵。2、存储方法:三元组存储法,设稀疏矩阵按行、列号从小到大顺序排列。如书图(3-16),变为一个线性表 顺序存储(1) 用一个二维数组A0.m ,1.3 : integer (2) 存储方法:a0,1存放非零元素个数,a0,2总行数 a0,3存放总列数 (3) 按行存放:每个非零元素所在行、列数以及值(p.72) 链接存储:设定一个一维的指针记录数组每个单元是一个链表,链接是本行的非零元素(p.73)3、稀疏矩阵运算:转置运算(p.75) 转置运算优化(快速转置, p.75)加法运算(p.76)三、广义表:1、 定义:广义表可以是一个空表,也可以非空表,其元素可以是某个确定类型的对象,也可以是由元素组成的表。即可以是元素或子表。 例如:A=() ,B=(e), C=(a, ( b, c ,d ) D=(A ,B , C )=( ( ) ,(e) , ( a, ( b,c,d ) ) p.78 图 2、存储结构:用动态链接表表示:Type node =record tag : 0.1; 标记,0元素,1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三地理区域发展与区域联系专题复习教学设计
- 初中综合实践活动八年级下册走近科学家主题教学设计
- 脊柱按摩师安全专项竞赛考核试卷含答案
- 初中语文七年级下册《黄河颂》课堂教学设计
- 高二生物教学设计:体液调节主干知识梳理与核心素养培育
- 高三地理《气候类型及其成因》教学设计
- 小学三年级道德与法治《9 让我们的学校更美好》第2课时教学设计
- 八年级物理《固体压强工程应用-坦克履带设计情境下的建模与优化》教学设计
- 小学二年级音乐教学设计 京剧伴奏乐器感知与体验
- 无人机驾驶员岗前实操知识实践考核试卷含答案
- 高三化学一轮复习“钠及其化合物”教学设计
- 2026年湖南水利水电职业技术学院单招职业技能考试题库附答案
- 2025-2026 学年七年级上期末语文试卷
- 2026-2027学年浙教版数学九上 第3章 圆的基本性质 单元综合知识梳理卷
- 新教科版三上科学学科教学计划-2026秋
- 重症营养支持中国指南(2026版)
- 2026年三力测试考试题库及答案
- 修订一单一库质量手册和程序文件参考文件
- 中考英语-阅读理解之推断题专题讲义
- 公路水运试验检测师《水运结构与地基》考试真题(2026年新版)
- DB15-T 3583-2024 黄河灌区轻中度盐碱耕地建设高标准农田技术规程
评论
0/150
提交评论