第四章 串
1、串的定义:是由零个或多个字符组成的有限序列。一般记为S=‘Abcdefg……’这样的形式。
- S是串名,用单引号括起来的字符序列是串的值。
- 字符序列,可以用数字、字母、标点符号或其他字符。
- 串中字符的个数n称为串的长度。
- 当n=0时,该串称为空串。
- 子串:串中任意多个连续的字符组成的子序列。
- 主串:包含子串的串。
- 子串在主串中的位置,以子串的第一个字符在主串中的位置来表示。
- 当两个串的长度相当,且每一个对应位置的字符都相等时,称这两个串是相等的。
- 由一个或多个空格组成的串称为空格串,空格串不是空串。其长度等于空格的个数。
2、串的存储结构
- 串的存储结构,分为定长顺序存储结构、堆分配存储结构和块链存储结构。
- 1)定长顺序存储结构:类似于线性表的顺序存储,在定长顺序存储结构中,为每个串变量分配一个固定长度的存储区,即定长数组。
- 2)堆分配存储结构:仍然是以顺序存储为基础,分配一组地址连续的存储单元来存储字符序列,只是这种存储空间是在动态分配中得到的。
- 3)块链存储结构:类似于线性表的链式存储;但由于串的特殊性,所以在实现的过程中,每一个结点存储字符的个数可以是单个,也可以多个,而这样的每个结点称为块,进而整个链表被称为块链结构。</