第4章串 4.1串的基本概念 42串的存储结构 4.3串的模式匹配
1 4.1 串的基本概念 4.2 串的存储结构 4.3 串的模式匹配 第4章 串
41串的基本概念 字符串: ·简称为串,是由零个或多个字符组成的有穷序列 空串: 含零个字符的串,用Φ表示 串的长度: 串中所含字符的个数 串的表示: a1a。。a 1“2 其中,最外边的双引号本身不是串的内容,它们是串的 标志,以便将串与标识符(如变量名等加以区别 a(1≤im)代表一个字符 空格串: 只包含空格的串,空格用□表示 2
2 • 字符串: • 简称为串,是由零个或多个字符组成的有穷序列 • 空串: • 含零个字符的串,用Ф表示 • 串的长度: • 串中所含字符的个数 • 串的表示: • “a1 a2…an ” • 其中,最外边的双引号本身不是串的内容,它们是串的 标志,以便将串与标识符(如变量名等)加以区别 • ai (1≤i≤n)代表一个字符 • 空格串: • 只包含空格的串,空格用□表示 4.1 串的基本概念
两个串相等: 当且仅当两个串的长度相等并且各个对应位置上 的字符都相同 子串: 个串中任意个连续字符组成的子序列 含空串,但不含串本身 例如,“a”、“ab”、“abc”和“abcd”等都是 “ abcde”的子串(有的教材将本身作为子串)
3 • 两个串相等: •当且仅当两个串的长度相等并且各个对应位置上 的字符都相同 • 子串: •一个串中任意个连续字符组成的子序列 •含空串,但不含串本身 •例如, “a”、 “ab”、 “abc”和“abcd”等都是 “abcde”的子串(有的教材将本身作为子串)
讨论:“ abcde有多少个子串? 解:空串数1 含1个字符的子串数5 含2个字符的子串数4 含3个字符的子串数3 含4个字符的子串数2 共有1+2+3+4+5=15个子串
4 讨论: “abcde”有多少个子串? 解: 空串数:1 含1个字符的子串数:5 含2个字符的子串数:4 含3个字符的子串数:3 含4个字符的子串数:2 共有1+2+3+4+5=15个子串
串的基本运算 (1) Strassign(& S, cstr):将一个字符串常量赋给串s, 即生成一个其值等于cstr的串s (2) StrCopy(&s,t:串复制,将串赋给串s (3) Strequal(s,+:判串相等,若两个串s与相等则返 回真;否则返回假。 (4) StrEngth(s):求串长,返回串s中字符个数
5 (1) StrAssign(&s,cstr):将一个字符串常量赋给串s, 即生成一个其值等于cstr的串s。 (2) StrCopy(&s,t):串复制,将串t赋给串s。 (3) StrEqual(s,t):判串相等,若两个串s与t相等则返 回真;否则返回假。 (4) StrLength(s):求串长,返回串s中字符个数。 串的基本运算