資料結構 單向鍊錶

2021-10-05 23:16:49 字數 1711 閱讀 1672

單個結點建立非常方便,普通的線性記憶體通常在建立的時候就需要設定資料的大小。

結點的刪除非常方便,不需要像線性結構那樣移動剩下的資料。

結點的訪問方便,可以通過迴圈或者遞迴的方法訪問到任意資料,但是平均的訪問效率低於線性表。

頭節點節點個數

新增節點

每次新增的元素為頭節點

刪除節點

當前節點的前驅節點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標頭...