#筆記整理
是由零個或多個字元組成的有限序列,一般記為 s=′
a1a2
…an′
s='a_1a_2…a_n'
s=′a1
a2…
an′
。串的定長順序儲存表示(定長順序串)
定長順序串的儲存分配是在編譯時完成的。與前面所講的線性表的順序儲存結構類似, 用一組位址連續的儲存單元儲存串的字串行。
#define maxstrlen 255
typedef
unsigned
char sstring[maxstrlen+1]
;
定長順序儲存特點:堆分配儲存表示(堆串)
在c語言中,已經有乙個稱為「堆」 的自由儲存空間,並可用 malloc() 和 free() 函式完成動態儲存管理。
(注:應用程式用到的記憶體分配:棧分配和堆分配。
堆:使用者程式動態申請的位址空間。
棧:儲存函式引數和塊內區域性變數的記憶體區。)
串的塊鏈儲存表示(鏈串)
用鍊錶儲存串值時,存在乙個「節點大小「的問題,即每個節點可以存放乙個字元,也可以存放多個字元。
為了便於進行串操作,當以鍊錶儲存串值時,除頭指標外還可附設乙個尾指標指示鍊錶中的最後乙個節點。
稱如此定義的串儲存結構為塊鏈結構。
在鏈式儲存方式中,節點大小的選擇和順序儲存方式的格式選擇以用都很重要,它直接影響著串處理的效率。因此處理字串時需要考慮串的儲存密度。
串的鏈式儲存結構對某些串操作,如鏈結操作等有一定的方便之處,但總的來說不如另外兩種儲存結構靈活,它占用儲存量大且操作複雜。
《資料結構(c語言版)》----嚴蔚敏
《資料結構》課堂教學ppt ---- 劉立芳
資料結構 串的定義
串 string 是由零個或者多個字元組成的有限序列,又名叫字串。一般記為s a1a2 an n 0 其中s是串的名稱,用雙引號括起來括起來的字串行是串的值,引號不屬於串的內容。ai 1 i i 可以是字母,數字或者其他字元,i就是該字元在串中的位置。串中的字元數目n稱為串的長度,定義中談到有限是指...
資料結構之字串(String)
string 是c 中的字串。字串物件是一種特殊型別的容器,專門設計來操作的字串行。不像傳統的c strings,只是在陣列中的乙個字串行,我們稱之為字元陣列,而c 字串物件屬於乙個類,這個類有很多內建的特點,在操作方式,更直觀,另外還有很多有用的成員函式。常用方法方法 作用at 按給定索引值返回字...
資料結構與演算法(串)
引言 在上次佇列學習後,現在我們再學習串。主要包含kmp演算法,現在就開始資料結構與演算法的 串的學習。定義 串是由零個或者多個字元組成的有限序列,又叫字串。串的大部分操作我們曾經都實現過,這裡重點介紹kmp演算法。樸素模式匹配演算法是我們最容易思考到的一種普通演算法,其時間複雜度可以認為是o n ...