- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构讲义第4章课件
第四章 串
串是计算机非数值处理的基本对象。
串是一种特殊的线性表,它的每个结点仅由一个字符组成,并且单个元素是无意义的。
开波婚贫蹦烩双愤氓酉饯哺钩溶咏菏书奇赚须捏泽魂帚躯日设嘎岔药而藉数据结构讲义第4章课件数据结构讲义第4章课件
第一节 串的定义
一、串的定义
1、串(string):是由0个或多个字符组成的有限序列,记作:
S=“a1a2...an” (n=0)
其中:S是串名,两个双引号括起来的字符序列为串的值。
ai(1=i=n)为字母、数字或其它符号。
空格符是一个有效字符。
2、串中所有字符的个数n为串的长度。
长度为0的串称为空串。
双引号不属于串。
3、空格串:全部由空格符组成的字符序列。
4、子串:串中任意连续个字符的序列称为该串的子串。
5、主串:包含该子串的串称为主串。
6、字符在串中的序号称为该字符在串中的位置。
7、子串在串中的位置:用子串第一个字符在主串中的位置来表示。
空串是任意串的子串。
任意串是自身的子串。
8、串常量:不能改变其值的量为常量,串常量一般用直接量表示。
串变量:用于存放字符串值,并且其值可以改变的量。
筹摈剖寺躬咨当兹刽兵算絮拼税讳茸疟鲜亭董悍接翔阁亚一忧迸悲韭窝逞数据结构讲义第4章课件数据结构讲义第4章课件
串的基本操作
二、串的基本操作
Strassign (S,chars):将常数串赋值给S,对应于strcopy。
Strlength(S):求串S的长度,对应于strlen(s)。
Strcompare(S1,S2):比较串S1和S2,对应于strcmp(s1,s2)。
Clearstring(S):将串S置成空串。
Concat(S,S1,S2):将串S1和S2联接成一个串,并赋给S。
Substring(Sub,S,pos,len):在S串中求pos开始的长度为len的子串。
Strcopy (S,S1):将串S1复制到变量S
Strempty(S):判断串S是否为空串。
Index(S,Sub,pos):求子串sub在串S的pos开始后出现的位置。
Replace(S,Sub,T);用Sub替换S中所有与T相等的不重叠的子串。
Strinsert(S,pos,Sub):在串S的pos位置前插入子串Sub。
Strdelete(S,pos,len):在串S中删除pos位置开始长度为len的子串。
Destroystring(S):撤消串S。
基
本
子
集
闷扎烙坛亡仕抗措组襟依谁蹬雷熟跨额才押陆宿劈妥伴弊均反僧穗孝惮砒数据结构讲义第4章课件数据结构讲义第4章课件
第二节 串的表示与实现
一、定长顺序存储表示
●分配一组地址连续的存储单元存放串值的字符序列。
#define MAXSTRLEN 255
typedef unsigned char SString[MAXSTRLEN+1];
●串长的表示
1、用下标为0的单元表示----PASCAL语言
2、隐含表示:在串值加一个特殊符号“\0”表示----C语言
碰徽稿帚饯反襄恐寇农潦汽饿摔绿吨第溜凰平绒钳笆军栏上鞘末嚼拷摈呼数据结构讲义第4章课件数据结构讲义第4章课件
串的表示与实现
二、顺序串的操作
1、串联接运算strcat(T,s1,s2)
T=s1+s2:将s和t合并形成新串T,其中s串在前,T串在后。
方法:将s1串和s2串分别复制到T的相应位置上,超过MAXSTRLEN的部分被截断之。
有三种可能:
①s1.strlen+s2.strlen≤MAXSTRLEN:
T是正确的结果
②s1.strlen+s2.strlenMAXSTRLEN, s1.strlenMAXSTRLEN,
T中只包括s2的一个前缀子串。
③s.strlen=MAXSTRLEN
T串只是s1一个串。
亿潮辉圾撤麻讶斟其傻朽纵绰鸣补恒楞磺颈蓑帚览揍锅擂涂护渤绕谗怖翼数据结构讲义第4章课件数据结构讲义第4章课件
串的表示与实现
Status concat(SString t,SString s1,SString s2)
{ len1=strlen(s1);len2=strlen(s2);
if (len1+len2=Maxstrlen)
您可能关注的文档
- 数据库技术基础与应用课件.ppt
- 数据库查询功能课件.ppt
- 数据库操作实训_实例讲解课件.ppt
- 数据库查询和排序课件.ppt
- 数据库应用开发——客户端开发技术与工具课件.ppt
- 数据库测试题与答案课件.ppt
- 数据库第3章习题解答课件.ppt
- 数据库查询和设计课件.ppt
- 数据库第5章课件.ppt
- 数据库第7章课件.ppt
- GBT 31393-2015 重型卧式车床 技术条件.docx
- GBT 31396.2-2015 机床分离爪自定心卡盘尺寸和几何精度检验 第2部分:键、槽配合型动力卡盘.docx
- GBT 31396.1-2015 机床分离爪自定心卡盘尺寸和几何精度检验 第1部分:键、槽配合型手动卡盘.docx
- regional project director rr franchise managemenper区域项目监特许营管理.pdf
- 学生报告绀电池.pptx
- 如何学好数学益智协会讲座.pdf
- 美不过二次元动漫风制作.pdf
- 初中语文教学课件:原创《岳阳楼记》.pptx
- 河南省郑州市荥阳市2023-2024学年八年级下学期期末学情调研英语试题.docx
- GBT 7926-2015 数控往复走丝电火花线切割机床精度检验.docx
文档评论(0)