線性表的鏈式儲存結構

2021-10-06 12:19:35 字數 1388 閱讀 9622

#include

using namespace std;

typedef

int elementtype;

typedef

struct lnode* list;

struct lnode

;lnode l;

list ptrl;

//線性表的鏈式儲存的操作集

//1.求表長

intlength

(list l)

;//2.查詢第kth位序的元素

list findkth

(int k, list ptrl)

;//3.按值查詢

list find

(elementtype x,list ptrl)

;//4.插入(在第i-1(1<=i<=n+1)個節點插入乙個值為x的新節點

list insert

(elementtype x,

int i,list ptrl)

;//5.刪除(刪除鍊錶的第i(1<=i<=n)個位置上的節點)

list delete

(int i,list ptrl)

;int

main()

p=delete(19

,p);

list s=p;

while

(s)return0;

}int

length

(list l)

return i;

}//無法0判斷輸入的k是否合法所以不能將判斷條件(i==k)改為if(p)或直接return p;

list findkth

(int k, list ptrl)

if(i==k)

return p;

//找到了返回第k個指標

else

return

null

;//沒找到返回空指標

}list find

(elementtype x,list ptrl)

return p;

}list insert

(elementtype x,

int i,list ptrl)

p=findkth

(i-1

,ptrl);if

(p==

null

)else

}list delete

(int i,list ptrl)

p=findkth

(i-1

,ptrl);if

(p==

null

)else

if(p->next==

null

)else

}

線性表的鏈式儲存結構

線性表的鏈式儲存結構 順序儲存結構不足的解決辦法 缺點 最大的缺點就是插入和刪除時需要移動大量元素。為了表示每個資料元素 ai與其直接後續資料元素 ai 1 之間的邏輯關係,對資料元素 ai來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後續的資訊。我們把儲存資料元素資訊的域稱為資料域,把儲存...

線性表的鏈式儲存結構

線性表的鏈式儲存結構,雙向鍊錶實現 package 線性表 public class dulinklist public node t data,node prev,node next 儲存該鍊錶的頭節點 private node header 儲存該鍊錶的尾節點 private node tail...

線性表的鏈式儲存結構

順序儲存結構的缺點 插入和刪除時需要移動大量元素 鏈式儲存結構的特點 用一組任意的儲存單元儲存線性表的資料元素 資料結構 儲存分配方式 時間效能 空間效能 順序儲存結構 用一段連續的儲存單元一次儲存線性表的資料元素 查詢 o 1 插入刪除 o n 需要預分配儲存空間,分大了浪費,分小了易發生上溢 單...