RISE ONLY THIS
.COM
串(String)的特点在于其每个元素值仅由一个字符组成。串的基本操作和线性表的基 本操作也有很大差别。在线性表中,大多以“单个元素”作为操作对象,例如在线性表中查 找、插入、删除一个元素等;而在串中,通常以“串的整体”作为操作对象,例如在串中查找、 插入及删除一个子串等。
串是由零个或多个字符组成的有限序列。一般记为
S= a1 a2 an *' (n^1)
其中,S是串名,用双引号括起来的字符序列是串值;aj(lWiWn)可以是字母、数字或其他 字符;串中字符数目n称为字符串长度。 串值必须用一对双引号括起来,但双引号本身不属于串,它的作用只是为了避免与变量 或数的常量混淆而已。 例如,S=”1234”,表明S是一个串变量名,赋给它的值是字符序列1234,而不是整数 1234。String= "String%表明左边的String是一个串变量名,右边的字符序列String是赋 给它的值。
由零个字符组成的串称为空串(Null String),其长度为零。仅由一个或多个空格组成 的串称为空格串(Blank String),其长度为串中空格字符的个数。
例如,” ”(一个空格)、” ”(四个空格)和” “(八个空格)是三个不同的空格 串,它们的长度分别是1、4和8。而””是一个空串,其长度是0。
串中任意连续的字符组成的子序列称为该串的子串(Substring) o包含子串的串称为 主串(Primary String) o字符在序列中的序号称为该字符在串中的位置(Position),子串在 主串中的位置则以子串的第一个字符在主串中的位置来表示。
例如,假设有四个字符串:A= "china”、B= ”chi”、C= ”na”、D= "chi na”,那么A的长 度为5,B的长度为3,C的长度为2,D的长度为6; B和C都是A和D的子串,且B在A和 D中的位置都是1,而C在A中的位置是4,在D中的位置是5
串的比较是通过组成串中字符之间的比较来进行的。在计算机中,每个字符都有一个 唯一的数值表示,称为字符编码,字符之间的大小关系就定义为其字符编码之间的大小关 系。字符编码有很多种,对英文字母和其他常用符号,ASCII码是最常见的一种。例如,字 符A和字符B的ASCII码分别为65和66,则有'A' 给定两个串:X=”x】 x2-xn\Y=nyi y2-ym\ (1) 当 n=m 且 Xi =y】,…,Xn= ym 时,称 X = Y; (2) 当下列条件之一成立时,称X • nVm,且 Xi = yj(i=l, 2,…,n); •存在某个 k£min(m, n),使得 xi = yi(i = l, 2,…,k—1) ,xk (3) 否则,X>YO 例如:“abed” = “abed”,”abc”〈“abed”,”abac”<”abaec“,”abc”〉”abafg”。