#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 需要預分配儲存空間,分大了浪費,分小了易發生上溢 單...