線性表
什麼是線性表? 從邏輯上來看,線性表就是由n(n>=0)個數據元素a1,a2,......an組成的有限序列。
數據元素的個數爲n,也稱爲表的長度,當n=0時稱爲空表;
若一個線性表非空,也就是n>0,則可以簡單地記做(a1,a2,......,an);
數據元素ai(1=<i<=n)表示了各個元素,在不同的場合,含義也不同;
例如:英文字母表就是最簡單的線性表,字母表中每個英文字符就是一個數據元素,也稱爲數據結點。
對於一個非空的線性表,它的邏輯結構特徵如下:
有且僅有一個開始結點a1,沒有直接前趨結點,有且僅有一個直接後繼結點a2;
有且僅有一個終結結點an,沒有直接後繼結點,有且僅有一個直接前趨結點an-1;
其餘的內部結點ai(2=<i<=n-1)都有且僅有一個直接前趨結點ai-1和一個直接後繼結點ai+1;
對於同一線性表,各數據元素ai必須具有相同的數據類型,即同一線性表中各數據元素具有相同的類型,每個數據元素的長度相同。
線性表的基本運算:
初始化(InitList):構造一個空的線性表;
計算表長(ListLength):計算線性表中結點的個數;
獲取結點(GetNode):取出線性表中第i個結點的數據;
查找結點(LocateNode):在線性表中查找某值的結點;
插入結點(InsertList):在線性表中的第i個位置插入新結點;
刪除結點(DeleteList):刪除線性表中的第i個結點;
線性表的存儲結構:順序存儲結構(順序表) 鏈式存儲結構(鏈表)