數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)之串的定義與作用?
一、串定義
串(或字符串),是由零個或多個字符組成的有限序列。一般記為:
s='a1a2...an'(n=0)
其中s是串的名,用單引號括起來的字符序列是串的值;串中字符的數(shù)目n稱為串的長度。零個字符的串稱為空串,它的長度為零。
串中任意個連續(xù)的字符組成的子序列稱為該串的子串。包含子串的串相應(yīng)地稱為主串。通常稱字符在序列中的稱為該字符在串中的位置。子串在主串中的位置則以子串的第一個字符在主串中的位置來表示。
例:a='BEI',b='JING',c='BEIJING',d='BEI JING'
串長分別為3,4,7,8,且a,b都是c,d的子串。
稱兩個串是相等的,當(dāng)且僅當(dāng)這兩個串的值相等。
二、串的抽象數(shù)據(jù)類型的定義:
ADT String{
數(shù)據(jù)對象:D={ai|ai(-CharacterSet,i=1,2,...,n,n=0}
基本操作:
StrAssign(T,chars)
chars是字符常量。生成一個其值等于chars的串T。
StrCopy(T,S)
串S存在則由串S復(fù)制得串T
StrEmpty(S)
串S存在則若S為空串,返回真否則返回假
StrCompare(S,T)
串S和T存在,若ST,則返回值大于0,若S=T,則返回值=0,若S
Strlength(S)
串S存在返回S的元素個數(shù)稱為串的長度.
ClearString(S)
串S存在將S清為空串
Concat(T,S1,S2)
串S1和S2存在用T返回由S1和S2聯(lián)接而成的新串
SubString(Sub,S,pos,len)
串S存在,1=pos=StrLength(S)且0=len=StrLength(S)-pos+1
Index(S,T,pos)
串S和T存在,T是非空,1=pos=StrLength(S),若主串S中存在和串T值相同的子串,則返回它在主串S中第pos個字符之后第一次出現(xiàn)的位置,否則函數(shù)值為0
Replace(S,T,V)
串S,T和V存在,T是非空串,用V替換主串S中出現(xiàn)的所有與T相等的不重疊的子串
StrInsert(S,pos,T)
串S和T存在,1=pos=StrLength(S)+1,在串S的第pos個字符之前插入串T
StrDelete(S,pos,len)
串S存在,1=pos=StrLength(S)-len+1從串中刪除第pos個字符起長度為len的子串
DestroyString(S)
串S存在,則串S被銷毀
}ADT String
三、串操作應(yīng)用舉例:
1文字處理中常用的:串的查找(比較,定位)與替換
在TC集成環(huán)境中可用^QF快速查找變量 在WORD中可用搜索與替換批量改變文本
2串的截?cái)嗯c連接
可用求子串及串連接的方法進(jìn)行文字處理