線性表是具有相同資料類型的 n(n>=0) 個資料元素的有限序列。其中 n 為表長, 當 n=0 時線性表是一個空表。若用 L 命名線性表,其一般表示為:
L = (a1, a2, a3, …, an)
數字下标為元素的位序。位序從 1 開始。位序為 1 的元素稱為表頭元素,位序最大的元素為表尾元素。
除表頭元素外,每個元素都有且僅有一個直接前驅;除表尾元素外,每個元素有且僅有一個直接後繼。
線性表:Linear List
線性表是資料元素在邏輯上順序排列的抽象資料類型。
可以按存儲結構(實體分布情況)分類:
順序表:資料元素在記憶體中按順序排列存儲的線性表。
連結清單:資料元素在記憶體中離散分布,由指針按順序連接配接的線性表。按指針數量又可細分:
單連結清單,除表尾元素外,每個資料元素隻有一個指針,指向其後面的元素。
雙連結清單:除表頭和表尾元素外,每個資料元素有兩個指針,分别指向前一項和後一項元素。
循環連結清單:表頭和表尾元素相連的連結清單。
靜态連結清單:資料元素分布在一塊固定記憶體(數組)中的連結清單。
1、為什麼要實作對資料結構的基本操作?
團隊合作程式設計,你定義的資料結構要讓别人能夠很友善地使用(封裝)
将常用的操作/運算封裝成函數,避免重複工作,降低出錯風險。
2、基本操作
初始化表,構造一個空的線性表,配置設定記憶體空間。
銷毀線性表,釋放記憶體空間。
插入,在表中指定位置插入一個元素。
删除,删除表中指定元素。
按值查找,查找表中包含指定關鍵字的元素。
按位查找,根據位序擷取元素的值。
3、其他常用操作
求表長,傳回線性表的長度,即資料元素的個數。
顯示表,按順序将線性表所有内容顯示出來。
判斷空表,如果線性表是空的,沒有一個元素,傳回 true。反之傳回 false。