//節點類
class
node
}//單鏈表
public
class
mylinedlist
//頭插法
public
void
addfirst
(int data)
node.next =
this
.head;
this
.head = node;
}//尾插法
public
void
addlast
(int data)
node cur =
this
.head;
while
(cur.next!= null)
//cur指向的節點就是尾巴
cur.next = node;
}//任意位置插入,第乙個資料節點為0號下標
public
void
addindex
(int index,
int data)
if(index ==0)
if(index ==
size()
)//1、讓乙個引用 先走index-1 步
node prev =
findindex
(index)
;//2、先綁後面
node node =
newnode
(data)
; node.next = prev.next;
prev.next = node;
}//走index-1步
private node findindex
(int index)
return cur;
}//查詢是否包含關鍵字key是否在單鏈表當中
public
boolean
contains
(int key)
cur = cur.next;
}return
false;}
private node findprev
(int key)
prev = prev.next;
}return null;
}//刪除第一次出現關鍵字為key的節點
public
void
remove
(int key)
node prev =
findprev
(key);if
(prev == null)
node del = prev.next;
prev.next = del.next;
}//刪除所有值為key的節點
public
void
removeallkey
(int key)
else}if
(this
.head.data == key)
}//得到單鏈表的長度
public
intsize()
return count;
}public
void
display()
system.out.
println()
;}public
void
clear()
}
無頭單向非迴圈鍊錶
首先建立乙個標頭檔案存放所需要的函式功能的宣告slist.h ifndef slist h define slist h include include include include typedef int sltdatatype typedef struct slistnodeslistnode...
無頭單向非迴圈鍊錶增刪查改實現
無頭單向非迴圈鍊錶 結構簡單,一般不會單獨用來存資料。實際中更多的是作為其他資料結構的子結構,如雜湊表 圖的領接等等。下面,我們來看看無頭單向非迴圈鍊錶增刪查改實現。ifndef slist h define slist h include include include include 無頭單向非...
無頭結點的鍊錶實現
鍊錶的插入 任何位置 int link1insert node l,int p,int e else if null l p 1 p 1 else if p count 1 return failure else if p count 1 else if p count 1 p 1 n next q...