手動實現單鏈表各個功能LinkedList

2021-10-19 10:46:08 字數 2065 閱讀 2953

* description:單鏈表

* user: starry

* date: 2021 -02 -10

* time: 16:56

*/class

node

public

node

(int val)

}//無頭單向非迴圈鍊錶實現

public

class

singlelinkedlist

//找最後乙個節點

public node findlastnode()

node cur = head;

while

(cur.next != null)

return cur;

}//找第n個節點

public node findn

(int n)

if(n <=0)

if(n >

size()

)int count =1;

node cur = head;

while

(count != n)

return cur;

}//頭插法

public

void

addfirst

(int data)

//尾插法

public

void

addlast

(int data)

else

cur.next = node;}}

//任意位置插入,第乙個資料節點為0號下標

public

void

addindex

(int index,

int data)

if(index ==0)

if(index ==

size()

)int count =0;

node cur = head;

node node =

newnode

(data)

;while

(cur != null)

cur = cur.next;

count++;}

}//查詢是否包含關鍵字key是否在單鏈表當中

public

boolean

contains

(int key)

cur = cur.next;

}return

false;}

//刪除第一次出現關鍵字為key的節點

public

void

remove

(int key)

node cur = head;

node pre = cur;

while

(cur != null)

else

cur = cur.next;}}

//刪除所有值為key的節點

public

void

removeallkey

(int key)

node cur = head;

node pre = cur;

while

(cur != null)

else

cur = cur.next;}}

//得到單鏈表的長度

public

intsize()

return count;

}public

void

display()

system.out.

println()

;}public

void

clear()

public

static

void

main

(string[

] args)

}

單鏈表簡單功能實現

看了鍊錶題,基本上不會做,然後各種找部落格,初次嘗試寫了寫,感覺指定值刪除的功能有點難 所以沒有寫,待學習過後會補上 其他的還可以,這裡面的尤其要注意的是用temp轉換head進行遍歷,主要的 如下,大神多給點學習的建議,謝謝 這是功能體 package csdn public class link...

單鏈表函式功能實現

pragma once include include include typedef int sdatatype typedef struct slistnode node typedef struct slist slist void slistinit slist pl 初始化 node cr...

帶頭結點的單鏈錶類C 手動實現

最近在複習資料結構,看到單鏈表這部分,現在用的教材大部分都是嚴蔚敏的c語言版吧,參考了一些書籍,手動編寫了c 下單鏈錶類的實現,環境是visual studio 2010,函式是對照著教材宣告挑了個寫的。如下 include using namespace std class mylist 提前宣告...