線性表的鏈式儲存結構

2021-07-27 08:44:15 字數 1556 閱讀 8080

線性表的鏈式儲存結構,雙向鍊錶實現:
package 線性表;

public class dulinklist

public node(t data,node prev,node next) }

//儲存該鍊錶的頭節點

private node header;

//儲存該鍊錶的尾節點

private node tail;

//儲存該鍊錶中已包含的節點數

private int size;

//建立空鍊錶

public dulinklist()

//以指定資料元素來建立鍊錶,該鍊錶只有乙個元素

public dulinklist(t element)

//返回鍊錶的長度

public int length()

//獲取鏈式線性表中索引為index處的元素

public t get(int index)

//根據索引index獲取指定位置的節點

private node getnodebyindex(int index)

if(index<=size/2)

}} else

}} return null; }

//查詢鏈式線性表中指定元素的索引

public int locate(t element)

//如果還是空表

if(header==null)

else

else

} }//採用尾插法為鍊錶新增新節點

public void add(t element)

else

size++;

} //採用頭插法為鍊錶新增新節點

public void addatheader(t element)

size++;

} //刪除鏈式線性表中指定索引處的元素

public t delete(int index)

node del=null;

//如果被刪除的是header節點

if(index==0)

else

//將被刪除節點的prev,next引用賦為null

del.prev=null;

del.next=null;

} size--;

return del.data;

} //刪除鏈式線性表中的最後乙個元素

public t remove()

//判斷鏈式線性表是否為空鍊錶

public boolean empty()

//清空線性表

public void clear()

public string tostring()

else

int len=sb.length();

} }public string reversetostring()

else

int len=sb.length();

} }}

線性表的鏈式儲存結構

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

線性表的鏈式儲存結構

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

線性表的鏈式儲存結構

用自己的話來說就是和線性表一樣,只不過多了後邊可以儲存的位置 n個這樣的結點就是鍊錶如圖 注意 單鏈表指的是單一方向的鍊錶,只包含乙個指標域,只能從左到右,不能從右到左 頭節點 頭節點就是鍊錶中第乙個結點,它有真實頭節點和虛擬頭節點 真實頭節點就是第乙個結點用於儲存資料 虛擬頭節點第乙個結點不許儲存...