天天看點

2.1 線性表

線性表是具有相同資料類型的 n(n>=0) 個資料元素的有限序列。其中 n 為表長, 當 n=0 時線性表是一個空表。若用 L 命名線性表,其一般表示為:

L = (a1, a2, a3, …, an)

數字下标為元素的位序。位序從 1 開始。位序為 1 的元素稱為表頭元素,位序最大的元素為表尾元素。

除表頭元素外,每個元素都有且僅有一個直接前驅;除表尾元素外,每個元素有且僅有一個直接後繼。

線性表:Linear List

線性表是資料元素在邏輯上順序排列的抽象資料類型。

可以按存儲結構(實體分布情況)分類:

順序表:資料元素在記憶體中按順序排列存儲的線性表。

連結清單:資料元素在記憶體中離散分布,由指針按順序連接配接的線性表。按指針數量又可細分:

單連結清單,除表尾元素外,每個資料元素隻有一個指針,指向其後面的元素。

雙連結清單:除表頭和表尾元素外,每個資料元素有兩個指針,分别指向前一項和後一項元素。

循環連結清單:表頭和表尾元素相連的連結清單。

靜态連結清單:資料元素分布在一塊固定記憶體(數組)中的連結清單。

1、為什麼要實作對資料結構的基本操作?

團隊合作程式設計,你定義的資料結構要讓别人能夠很友善地使用(封裝)

将常用的操作/運算封裝成函數,避免重複工作,降低出錯風險。

2、基本操作

初始化表,構造一個空的線性表,配置設定記憶體空間。

銷毀線性表,釋放記憶體空間。

插入,在表中指定位置插入一個元素。

删除,删除表中指定元素。

按值查找,查找表中包含指定關鍵字的元素。

按位查找,根據位序擷取元素的值。

3、其他常用操作

求表長,傳回線性表的長度,即資料元素的個數。

顯示表,按順序将線性表所有内容顯示出來。

判斷空表,如果線性表是空的,沒有一個元素,傳回 true。反之傳回 false。

繼續閱讀