定義:
(1)串是由零個或多個字元組成的有限序列,又名叫字串。
(2)字串簡稱串,是一種特殊的線性表,它的資料元素僅由乙個字元組成。
概念:(1)長度–串中字元的個數,稱為串的長度。
(2)空串–長度為零的字串稱為空串。
(3)空格串–由乙個或多個連續空格組成的串稱為空格串。
(4)串相等–兩個串相等,是指兩個串的長度相等且對應的字元都相等。
(5)自串–串中任意連續的字元組成的子串行稱為該串的子串。
(6)主串–包含子串的串為該子串的主串。
(7)模式匹配–子串的定位運算又稱為模式匹配。
1、定長順序串(靜態儲存的順序串)
用一組位址連續的儲存單元來儲存串中的字串行。一般用定長陣列為每個定義的串變數分配乙個固定長度的儲存區。這樣的儲存方式存在問題,因為定長,在字串操作時候,比如連線、插入新串、替換等操作時,都可能使串串行的長度超過了陣列的長度maxsize。
2、串的鏈式儲存
與線性表相似,但因為串中每個元素都是乙個字元,如果用鍊錶儲存串值,乙個結點對應乙個字元,就會存在很大的空間浪費。因此,乙個結點可以存放乙個字元,也可以考慮存放多個字元,最後乙個結點若是未被佔滿,可用「#」或其他非串值字元補全。
1、串的儲存結構最好使用順序儲存,而且使用陣列是較好,較明了的方法。
2、對於使用鏈式儲存,若是乙個結點儲存乙個字元,會占用大量的空間去存放指標域。
3、若是使用乙個結點儲存多個字元,雖然佔的空間消耗小了,但是相對於陣列,依舊需要太多的額外空間,最不好的是,這種方法會使鍊錶的快速插入刪除操作的優點消失,甚至複雜了。所以使用順序儲存的方法是更加好的。
參考:
資料結構之串
串string 由零個或多個字元組成的有限序列,又名叫字串 串的比較是通過組成串的字元之間的編碼來進行比較的,而字元的編碼指的是字元在對應的字符集中的序號 ascii是american standard code for information interchange縮寫 常用字元標準ascii編碼...
資料結構之串
串由零個或多個字元組成的有限序列,又名叫字串。串中字元數目n是成為串的長度,零個字元的串稱為空串。adt 串 string data 串中元素僅由乙個字元組成,相鄰元素具有前驅和後繼關係。operation strassign t,chars 生成乙個其值等於字串常量chars的串t。strcopy...
資料結構之串
串是由零個或多個字元組成的有限序列。記為 s a1a2 an n 0 其中,s是串的名,用雙引號括起來的字串行是串的值。1 串的長度 串中字元的數目n。2 空串 null string 長度為零的串。3 子串 串中任意個連續的字元組成的子串行。4 主串 包含子串的串相應地稱為主串。5 串相等 只有當...