5 線性結構 串

2021-10-01 07:37:04 字數 989 閱讀 5154

串(string)是由零個或多個字元組成的有限序列,又叫字串。

一般記為 s = 「a1a2……an」(n >= 0),其中,s 是串的名稱,ai 可以是字母、數字或其他字元, i 就是該字元在串中的位置。串中的字元數目 n 稱為串的長度,定義談到「有限」是指長度 n 是乙個有限的數字,零個字元的串稱為空串(null string) ,它的長度為零,

串的邏輯結構和線性表很相似,不同之處在於串針對的是字符集。也就是串中的元素都是字元。

物件不同,串的基本操作與線性表有很大差別,線性表更關注的是單個元素的操作,比如查詢乙個元素,插入或刪除乙個元素,但串中更多的是查詢子串位置得到指定位置子串替換子串等操作。

對於不同的高階語言,其實對串的基本操作會有不同的定義方法。

串的順序儲存結構是用一組位址連續的儲存單元來儲存串中的字串行的。按照預定義的大小,為每個定義的串變數分配乙個固定長度的儲存區。一般是用定長陣列來定義。

串值的儲存空間可在程式執行過程中動態分配而得。比如在計算機中存在乙個自由儲存區,叫做「堆」,這個堆可由 c 語言的動態分配函式 malloc () 和 free () 來管理。

對於串的鏈式儲存結構,與線性表是相似的,但由於串結構的特殊性,結構中的每個元素資料是乙個字元,如果也簡單的應用鍊錶儲存串值,乙個結點對應乙個字元,就會存在很大的空間浪費。

因此乙個結點可以存放乙個字元,也可以考慮存放多個字元,最後乙個結點若是未被佔滿時,可以用「 # 」或其他非串值字元補全。如圖

串的鏈式儲存結構除了在連線串與串操作時有一定方便之外,總的來說不如順序儲存靈活,效能也不如順序儲存結構好。

線性結構之串

字串是一種特殊的線性表,它的特殊性在於線性表的資料元素限定為字串。ifndef vstring h define vstring h include include include define maxsize 100 int strlength char s 得到串的長度 void substri...

5 補發 資料的物理結構,線性結構與鏈式結構

物理結構 是指資料的邏輯結構在計算機中的儲存形式。資料是資料元素的集合,那麼根據物理結構的定義,實際上就是如何把資料元素儲存到計算機的儲存器中。儲存器主要是針對記憶體而言的,像硬碟 軟盤 光碟等外部儲存器的資料組織通常用檔案結構來描述。資料的儲存結構應正確反映資料元素之間的邏輯關係,這才是最為關鍵的...

線性結構和非線性結構

資料結構是計算機儲存 組織資料的方式。常見的資料結構分類方式如下圖 常用的線性結構有 線性表,棧,佇列,迴圈佇列,陣列。線性表中包括順序表 鍊錶等,其中,棧和佇列只是屬於邏輯上的概念,實際中不存在,僅僅是一種思想,一種理念 線性表則是在記憶體中資料的一種組織 儲存的方式。線性結構是最簡單最常用的一種...