單個結點建立非常方便,普通的線性記憶體通常在建立的時候就需要設定資料的大小。
結點的刪除非常方便,不需要像線性結構那樣移動剩下的資料。
結點的訪問方便,可以通過迴圈或者遞迴的方法訪問到任意資料,但是平均的訪問效率低於線性表。
頭節點節點個數
新增節點
每次新增的元素為頭節點刪除節點
當前節點的前驅節點next指向當前節點的下乙個節點,當前節點沒有任何物件引用。
//單鏈錶類
public
class
singlelinkedlist
public
node
(object data)
@override
public string tostring()
';}}
/** * @param object 新增的元素
* @return
*/public object addnode
(object object)
else
size++
;return object;
}/**
* 判讀是否為空
* @return
*/public
boolean
isempty()
public
void
display()
node node = head;
int tempsize = size;
//臨時長度
system.out.
print
("[");
while
(tempsize >0)
node = node.next;
//當前節點指向下乙個節點,繼續迴圈
tempsize--;}
system.out.
print
("] \n");
}/**
* 刪除頭節點
* @return
*/public node deletehead()
public
boolean
delete
(object object)
//刪除節點是否為頭節點
if(current == head)
else
size--
;return
true;}
public node find
(object object)
else
}return null;
}}
public
static
void
main
(string[
] args)
輸出結果
[荀彧 -> 司馬懿 -> 郭嘉]查詢資料為【司馬懿】的節點:node}
刪除頭節點:node}}
[司馬懿 -> 郭嘉]
[賈詡 -> 許攸 -> 司馬懿 -> 郭嘉]
刪除資料為郭嘉的節點:true
[賈詡 -> 許攸 -> 司馬懿]
資料結構 單向鍊錶
鍊錶結構的資料格式儲存 include stdafx.h 把這行放在最開始。include includeusing namespace std typedef struct data typedef struct node 這裡與上面的不同是多了node,注意如果沒有這個node,下面的struc...
資料結構(單向鍊錶)
ifndef linklist h define linklist h 鍊錶節點 template class linklistdata linklistdata linklistdata 獲取資料 t getdata public t data 資料 template class linklist...
資料結構 單向鍊錶
錯誤 h next null 或其他 讓指標指向空 的語句執行報錯 null undeclared identifier cannot convert from int to struct node 原因 未引入標頭檔案 include stdio.h 把null定義為乙個空位址是在 stdio標頭...