数据结构c语言版 第4章 串.ppt

数据结构c语言版 第4章 串.ppt

ID:57301173

大小:273.00 KB

页数:56页

时间:2020-08-10

数据结构c语言版 第4章  串.ppt_第1页
数据结构c语言版 第4章  串.ppt_第2页
数据结构c语言版 第4章  串.ppt_第3页
数据结构c语言版 第4章  串.ppt_第4页
数据结构c语言版 第4章  串.ppt_第5页
资源描述:

《数据结构c语言版 第4章 串.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1串的基本概念2串的存储结构3串的基本运算及其实现4学习导读在计算机应用中,非数值处理的应用越来越多。如在汇编程序和编译程序中,源程序和目标程序都是作为一种字符串进行处理的。在事务处理中,用户的姓名、地址及货物的名称、规格等也是字符串数据。字符串简称为串,它是一种特殊的线性表,这种线性表的数据元素总是字符型的,字符串的数据对象为字符集。在一般线性表的基本操作中,大多以“单个元素”作为操作对象,而在串中,则是以“串的整体”或一部分作为操作对象。因此,一般线性表和串的操作有很大的不同。本章主要讨论串的基本概念、存储结构和基本的串操作。学习目标与重点◆理解串的定义;◆理解串的顺序存储结构和链式存储

2、结构;◆掌握串的定长顺序存储的基本算法。4.1串类型的定义4.1.1串的定义串(或字符串)(String)是由零个或多个字符组成的有限序列。一般记作:s=〃c1c2…cn〃(n≥0)其中:s为串名,用双引号括起来的字符序列是串的值;ci(1≤i≤n)可以是字母、数字或其它字符;双引号为串值的定界符,不是串的一部分;字符串字符的数目n称为串的长度。零个字符的串称为空串,通常以两个相邻的双引号来表示空串(Nullstring),如:s=〃〃,它的长度为零;仅由空格组成的的串称为空格串,如:s=〃└┘└┘〃;若串中含有空格,在计算串长时,空格应计入串的长度中,如:s=〃└┘└┘〃的长度为2。s=〃

3、I’m└┘a└┘student〃的长度为13,请读者注意,在C语言中,用单引号引起来的单个字符与单个字符的串是不同的,如s1='a'与s2=〃a〃两者是不同的,s1表示字符,而s2表示字符串。4.1.2主串和子串一个串的任意个连续的字符组成的子序列称为该串的子串,包含该子串的串称为主串。称一个字符在串序列中的序号为该字符在串中的位置,子串在主串中的位置是以子串的第一个字符在主串中的位置来表示的。当一个字符在串中多次出现时,以该字符第一次在主串中出现的位置为该字符在串中的位置。当一个子串在主串中多次出现时,以该子串第一次在主串中出现,子串第一个字符的位置为该子串在主串中的位置。例如:s1、s2

4、、s3为如下的三个串:s1=〃I’mastudent〃;s2=〃student〃;s3=〃teacher〃。则它们的长度分别为13、7、7;串s2是s1的子串,子串s2在s1中的位置为7,也可以说s1是s2的主串;串s3不是s1的子串,串s2和s3不相等。4.1.3串的基本运算串的基本运算有赋值、联接、求串长、求子串、求子串在主串中出现的位置、判断两个串是否相等、删除子串等。在本节中,我们尽可能以C语言的库函数表示其中的一些运算,若没有库函数,则用自定义函数说明。(1)strcpy(str1,str2)字符串拷贝(赋值):把str2指向的字符串拷贝到str1中,返回str1。库函数和形参说明

5、如下:char*strcpy(char*str1,char*str2)(2)strcat(str1,str2)字符串的联接:把字符串str2接到str1后面,str1最后的结尾符‘’被取消。返回str1。库函数和形参说明如下:char*strcat(char*str1,char*str2)(3)strlen(str)求字符串的长度:统计字符串str中字符的个数(不包括‘’),返回字符的个数,若str为空串,则返回值为0。库函数和形参说明如下:unsignedintstrlen(char*str)(4)strstr(str1,str2)子串的查询:找出子串str2在主串str1第一次出

6、现的位置(不包括子串str2的结尾符),返回该位置的指针,若找不到,返回空指针NULL。库函数和形参说明如下:char*strstr(char*str1,char*str2)(5)strcmp(str1,str2)字符串的比较:比较两个字符串str1、str2。若str1<str2,则返回负数;若str1>str2,则返回正数;若str1=str2,则返回0。库函数和形参说明如下:intstrcmp(char*str1,char*str2)(6)substr(str1,str2,m,n)求子串:在字符串str1中,从第m个字符开始,取n个长度的子串str2;若m>strlen(str)或n≤

7、0,则返回空值NULL。自定义函数和形参说明如下:intsubstr(char*str1,char*str2,intm,intn)(7)delstr(str,m,n)字符串的删除:在字符串str中,删除从第m个字符开始的n个长度的子串。自定义函数和形参说明如下:Voiddelstr(char*str,intm,intn)(8)Insstr(str1,m,str2)字符串的插入:在字符串str1第m个位置之前开

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。