資料結構 串(string)的定義與表示

2021-09-25 02:23:13 字數 1375 閱讀 9754

#筆記整理

是由零個或多個字元組成的有限序列,一般記為 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 ...