單鏈表的頭沒有儲存資訊,僅作為乙個記號;
單鏈表有乙個next指標,指向下乙個節點;
可以在除頭節點外的任何節點進行增刪改查,但是在鍊錶頭部操作和在尾部操作所消耗的資源是大不相同的。
package com.base;
class
singlelinkedlist
// 初始化乙個頭節點,不存放資料
private node head =
newnode(0
,"",""
);// 新增節點
public
void
addnode
(node node)
// 當退出while迴圈時一定找到了最後乙個節點,那麼將傳入的節點放入到最後即可
temp.next = node;
}public
void
addbyorder
(node node)
// temp的下乙個節點的no值如果大於傳入的節點的no,那麼就在temp的後面插入
if(temp.next.no > node.no)
else
if(temp.next.no == node.no)
temp = temp.next;}if
(flag)
else
}// 刪除節點
public
void
delnode
(node node)
if(temp.next.no == node.no)
temp = temp.next;}if
(flag)
else system.out.
println
("無可刪除節點");
}// 修改節點
public
void
updatenode
(node node)
if(temp.next.no == node.no)
temp = temp.next;}if
(flag)
else
addbyorder
(node);}
// 查詢節點
public
void
findnodebyname
(string name)
if(temp.next.name == name)
temp = temp.next;}if
(flag)
else system.out.
println
("沒有找到叫"
+name+
"的人");
;}// 顯示鍊錶
public
void
listall()
node temp = head.next;
while
(true
) system.out.
println
(temp)
; temp = temp.next;}}
}class
node
@override
public string tostring()
';}}
資料結構 單鏈表實現
線性表的鏈式儲存結構的特點是用一組任意的儲存單元儲存線性表的資料元素 這組儲存單元可以是連續的,也可以是不連續的 因此,為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,對資料元素來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 這兩部分資訊組成資料元素的...
資料結構 單鏈表實現
在鏈式儲存中,節點之間的儲存單元位址可能是不連續的。鏈式儲存中每個結點都包含兩部分 儲存元素本身的資料域和儲存結點位址的指標域。結點中的指標指向的是下乙個結點,也就是儲存的下乙個結點的位址。1.建立鍊錶 在建立鍊錶時,頭結點不儲存資料,但可以儲存鍊錶的資訊。struct header 儲存資料的結點...
資料結構 單鏈表實現
package list public class singlelinkedlist private class node public node object data 頭插法 public void headinsert object data 尾插法 public void tailinser...