第5章 串
串也是一种特殊的线性结构。串的逻辑结构与线性表相似,而串的基本操作和线性表有很大的区别。字符串一般简称为串。在汇编语言的编译程序中,源程序和目标程序都是字符串数据。虽然在C语言中没有string这种数据类型,但可以通过定义字符数组来表示串。下面将从串的存储结构以及操作两方面来介绍这种特殊的线性结构。
5.1 串的定义、表示和实现
前面讲过的线性表要求表中的数据元素必须是同一类型,那么串的特殊性就在于串中的数据元素都是字符类型。而且,在不同类型的应用中,所处理的字符串具有不同的特点。要有效地实现字符串处理,就必须根据具体情况使用合适的存储结构。
5.1.1 串的基本概念
串是字符串的简称。它是由零个或多个字符组成的有限序列。一般记作:S="a1a2a3a4…an",其中S是串名,引号
中的字符序列是串S的串值。a
i (1≤i≤n)必须是字符类型
的数字、字母等。例如,a
i ='1'(1≤i≤n),可以是串值的
组成部分。但是,a
i
=1(1≤i≤n)就不符合串的定义。
下面介绍串的三个常用概念。
1.串的长度
2.主串
3.子串
字符串是什么数据结构5.1.2 串的基本操作
如果对C++比较了解的话,就会知道string类所封装的一些操作,如求字符串的长度、求一个字符串的某个子串、查子串在主串中的位置等。下面对串的基本操作进行说明。
1.初始化串InitStr(&S)
2.求串的长度GetStrLength(S)
3.串的赋值StrCopy(&S1,S2)
4.串的连接StrConcat(&S1,S2)
5.求串的子串SubStr(S,i,Length)
5.字符串的比较StrComp(S1,S2)
7.求子串在主串中的位置StrIndex(s,t)
8.插入StrInsert(&s,i,t)
9.删除StrDelete(&s,i,length)
10.字符串的替换StrReplace(&s,i,length,t)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论