鍊錶與雙向鍊錶

2021-07-14 13:20:41 字數 2880 閱讀 5033

鍊錶與雙向鍊錶

一、特點

1)陣列列表

缺點 :新增很慢

優點:查詢快、元素是整塊出現的

大小是可變的

可以刪除

2)鍊錶:

優點:新增很快 刪除

缺點:查詢慢、元素是零散出現的陣列列表

鍊錶是乙個乙個的結點相連線,需要定義結點,是鏈式的資料結構。

二、鍊錶實現

1)定義乙個結點

public class node

2)測試功能

public class test

de();

root.next = add_node;

add_node.data = data;

size++;

}

// 在末尾增加乙個節點的資料

public void add(node root, object data)

node add_node = new no

// 在指定位置增加乙個節點

public boolean add(node root, object data, int index) 

for (int i = 1; i < index - 1; i++)

node tmp = root.next;

node add_node1 = new node();

root.next = add_node1;

add_node1.data = data;

add_node1.next = tmp;

size++;

return true;

}

// 遍歷輸出鍊錶

public node println(node root) 

return root;

}

// 刪除指定位置的資料

public object delete(node root, int index)  else 

root.next = root.next.next;

return temp.data;}

}

// 主函式

public static void main(string args) 

}

三、執行結果

四。雙向鍊錶的實現

1.定義節點

public class double_node

}

2.功能實現

public class double_linkimplements myarraylist else 

size++;

}

//指定位置增加節點

public boolean add(int index, e e) else

// 長度

size++;

return true;

}}

//刪除某個節點

public boolean remove( int index) else

size--;

return true;}

}

//更新某個節點的資料

public boolean update(int index, e newe)

}

//獲取各結點的資料

public e get(int index)

return node.data;

}//獲取鍊錶長度

public int size()

//獲取鍊錶資料

public double_nodegetnode(double_node head, int index)

return node;

}}

3.主函式呼叫

public class manager {

public static void main(string args) {

double_linknewnode = new double_link();

newnode.add("a");

newnode.add("b");

newnode.add("c");

newnode.add("d");

newnode.add("e");

newnode.add("f");

newnode.add("g");

for(int i=0;i

執行結果

迴圈鍊錶與雙向鍊錶

迴圈鍊錶 最後節點的next指標不指向null,直接改為指向首節點就行。迴圈列表不需要頭節點 include include includetypedef struct student lstudent,lpstudent void initlink lpstudent phead ptr next...

雙向鍊錶(鍊錶)

雙向鍊錶 每個節點包含指向後繼節點的指標和指向前驅節點的指標。繼承關係圖 實體圖 duallinklist.h duallinklist 雙向鍊錶類模板 成員變數 node 節點實體 m header 頭節點 m length 鍊錶長度 m step 步進長度 m current 當前節點前乙個節點...

mysql 雙向鍊錶 雙向鍊錶

雙向鍊錶是鍊錶變型,相比於單鏈表導航或者是向前和向後的兩種方式。以下是重要的術語來理解雙向鍊錶的概念 link 鍊錶的每個鏈路儲存資料稱為乙個元素。linkedlist linkedlist包含連線鏈結到名為首先第乙個鏈結,並稱為最後的最後乙個鏈結 last 雙向鍊錶表示 按照如上圖中所示,以下是要...