package 鍊錶;
/** *
*1)單鏈表的插入、刪除、查詢操作;
* 2)鍊錶中儲存的是int型別的資料;
**/public class singlylinkedlist
return p;
}//通過index查詢
public node findbyindex(int index)
return p;
}//無頭部節點(哨兵),表頭部插入乙個值,這種操作和輸入的順序相反,逆序
public void inserttohead(int value)
//無頭部節點(哨兵),表頭部插入新節點,這種操作和輸入的順序相反,逆序
public void inserttohead(node newnode)else
}//鍊錶尾部插入,按順序插入,時間複雜度平均為o(n),這個可以優化,定義多乙個尾部節點,不儲存任何資料,時間複雜度未o(1)
public void inserttail(int value)else
curr.next = newnode;}}
//在指定節點後面插入新節點,直接在這個節點後面斷開連線,直接插入
public void insertafter(node p,int value)
//在指定節點後面插入新節點,直接在這個節點後面斷開連線,直接插入
public void insertafter(node p,node newnode)
newnode.next = p.next;
p.next = newnode;
}//在指定節點前面插入新節點
public void insertbefore(node p,int value)
//在指定節點前面插入新節點
public void insertbefore(node p,node newnode)
if(p == head)
node curr = head;//當前節點,(查詢指定節點p的前乙個節點,當curr的下個節點等於指定節點時候,curr就是指定節點的前乙個節點
while(curr != null && curr.next != p)
if(curr == null)
newnode.next = p;
curr.next = newnode;
}//刪除指定節點
public void deletebynode(node p)
node curr = head;//從鏈頭開始查詢,curr是當前節點,查詢指定節點p的前乙個節點,當curr的下個節點等於指定節點時候,curr就是指定節點的前乙個節點
while(curr != null && curr.next != p)
if(curr == null)
curr.next = curr.next.next;
}//刪除指定值
public void deletebyvalue(int value)
node curr = head;//當前節點,從煉表頭開始查詢
node pre = null;//當前節點的前乙個節點,找查詢指定的過程,要不斷地儲存當前節點的前乙個節點
while(curr != null && curr.data != value)
if(curr == null)
if(pre == null)else
}//列印鍊錶
public void printall()
}//單鏈表資料結構類,以儲存int型別資料為例
public class node
public int getdata()
}public static void main(stringargs) ;
for (int i = 0; i < data.length; i++)
system.out.println("列印原始:");
link.printall();
}}
java資料結構 單鏈表實現
節點類 package linkedlist public class node 單鏈錶類 package linkedlist 鍊錶 author administrator param public class linkedlist else curr.next node length retu...
資料結構 單鏈表的java實現
單鏈表實現鍊錶的列印及元素刪除操作,鍊錶的實現主要是next屬性的定義,將一堆節點關聯起來的。實現簡單的鍊錶如下 public class linknode public linknode getnext public void setnext linknode next public int ge...
資料結構 單鏈表的java實現
單向鍊錶是一種線性表,實際上是由節點 node 組成的,乙個鍊錶擁有不定數量的節點。其資料在記憶體中儲存是不連續的,它儲存的資料分散在記憶體中,每個結點只能也只有它能知道下乙個結點的儲存位置。由n各節點 node 組成單向鍊錶,每乙個node記錄本node的資料及下乙個node。向外暴露的只有乙個頭...