数据结构之——串

  • Post author:
  • Post category:其他




(一)串的基本概念






串(又称字符串)是一种特殊的线性表,它的每个结点仅由一个字符组成。



在早期的程序设计语言中,串仅在输入或输出中以直接量的形式出现,并不参与运算。随着计算机的发展,串在文字编辑、词法扫描、符号处理以及定理证明等许多领域得到越来越广泛的应用。在高级语言中开始引入了串变量的概念,如同整型、实型变量一样,串变量也可以参加各种运算。



1、串








串(String)是零个或多个字符组成的有限序列。一般记为


S=”a

1

a

2

……a

n





其中:







①S是串名





②双引号括起的字符序列是串值;





将串值括起来的双引号本身不属于串,它的作用是避免串与常数或与标识符混淆。





【例】”123″是数字字符串,它不同于整常数123





【例】”xl”是长度为2的字符串,而xl通常表示一个标识符。




③ai(1≤i≤n)可以是字母、数字或其它字符;






④串中所包含的字符个数称为该串的长度。






2、空串和空白串



长度为零的串称为空串(Empty String),它不包含任何字符。



仅由一个或多个空格组成的串称为空白串(Blank String)。

注意:



空串和空白串的不同。



【例】″ ″和″″分别表示长度为1的空白串和长度为0的空串。

3、子串和主串



串中任意个连续字符组成的子序列称为该串的子串。包含子串的串相应地称为主串。



通常将子串在主串中首次出现时,该子串首字符对应的主串中的序号定义为子串在主串中的序号(或位置)。



【例】设A和B分别为

A=”This is a string”

B=”is”



则B是A的子串,B在A中出现了两次。其中首次出现对应的主串位置是3。因此称B在A中的序号(或位置)是3。

注意:



①空串是任意串的子串



②任意串是其自身的子串。

4、串变量和串常量



通常在程序中使用的串可分为:串变量和串常量。

(1)串变量



串变量和其它类型的变量一样,其取值是可以改变的。

(2)串常量



串常量和整常数、实常数一样,在程序中只能被引用但不能改变其值。即只能读不能写。

①串常量由直接量来表示的:



【例】Error(”overflow”)中”overflow”是直接量。

②串常量命名



有的语言允许对串常量命名,以使程序易读、易写。



【例】C++中,可定义串常量path

const char path[]=”dir/bin/appl”;








版权声明:本文为qq_36693404原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。