資料結構導論 2 2 線性表的鏈式儲存之單鏈表

2021-08-28 23:41:38 字數 1374 閱讀 8276

線性表的鏈式儲存之單鏈表

單鏈表的型別定義:

typedef struct node

node, *linklist;

單鏈表舉例

學生檔案資訊表的鏈結儲存實現

學生檔案資訊鍊錶的型別完整描述如下:

typedef struct

datatype; //定義結點型別

typedef struct node

node, *linklist; //node是鍊錶結點的型別

linklist head;

單鏈表的初始化:

linklist initiatelinklist ( ) //建立乙個空的單鏈表

單鏈表的求表長:

int lengthlinklist1 (linklist head)

return cnt; //返回表長

}

單鏈表的讀表元素:

node *getlinklist(linklist head, int i)

//在單鏈表l中查詢第i個元素結點,找到返回其指標,否則返回空

if (c==i) return p; //找到

else return null; //查詢失敗

}

單鏈表的定位:

int locatelinklist( linklist head, datatype x)

//在單鏈表head中查詢第乙個值為x的結點,找到後返回其序號,否則返回0

if (p!=null) return i+1;

else return 0;

}

單鏈表的插入:

void insertlinklist( linklist head, datatype x, int i)

//在單鏈表head的第i個位置上插入值為x的元素

}

單鏈表的刪除:

void deletelinklist(linklist head,int i)

//刪除單鏈表head上的第i個資料結點

else exit("第i個結點不存在");

}

資料結構導論 線性表

線性表是最基本 最簡單 也是最常用的一種資料結構。在資料結構邏輯層次上細分,線性表可分為一般線性表和受限線性表。一般線性表也就是我們通常所說的 線性表 可以自由的刪除或新增結點。受限線性表主要包括棧和佇列,受限表示對結點的操作受限制。在實際應用中,線性表都是以棧 佇列 字串 陣列等特殊線性表的形式來...

2 2 線性表的鏈式儲存結構

鏈式結構中,除了要存資料元素資訊外,還要存它的後繼元素的儲存位址。為了表示每個資料元素ai 與其直接後繼資料元素ai 1之間的邏輯關係,對於元素ai來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼資訊 即直接後繼的儲存位置 我們把儲存資料元素資訊的域成為資料域,把儲存直接後繼位置的域稱為指...

資料結構 鏈式儲存線性表

鏈式儲存結構的線性表 簡稱為鍊錶 將採用一組位址任意的儲存單元存放線性表中的資料元素,鏈式結構的線性表不會按線性的邏輯順序來儲存資料元素,它需要在每乙個資料元素裡儲存乙個引用下乙個資料元素的引用。優點 插入 刪除元素快,充分利用計算機記憶體空間 缺點 查詢元素需要整體遍歷,空間開銷大 單鏈表 cre...