/**
* 鍊錶節點定義
* */
private class node
public void setnext(node next)
public node(object data)
} private node head;
private int size;
public linkedlistonepoint()
public boolean isempty()
public int size()
public object headnode()
return head.data;
} /**
* 在煉表表頭插入乙個節點(入棧)
* * @param obj
*/public void insertinhead(object obj) else
size ++;
} /**
* 刪除煉表表頭節點(出棧)
* @return
*/public object deleteheadnode()
object objct = head.data;
if (head.next == null) else
size--;
return objct; }
/*** 刪除節點
* 1. 首先需找到刪除的節點
* 2.然後讓前乙個節點指向刪除節點的下乙個節點
* @param obj
* @return
*/public boolean deletenode(object obj)
node previousnode = null;
node currentnode = head;
while (currentnode.data != obj)
} while (currentnode.data !=obj)
previousnode = currentnode;
currentnode = currentnode.next;
} if (currentnode == head) else
return true; }
/*** 判斷鍊錶是否存在某個元素
* @param obj
* @return
*/public boolean containobject(object obj)
node n =head;
while (n.next!=null) else
} return false; }
public void display()
node n = head;
while (n != null)
system.out.println(); }
/*** 插入節點
* @param obj
*/public void insertnode(object obj)else
node.next = newnode;
} size++;
}/**
* 反轉鍊錶(遞迴)
* * 在反轉鍊錶的時候需要判斷反轉的節點是否還有下乙個節點
* *
* @param previousnode
* @return
*/public static node reversebyrecursive(node previousnode) else }
public static void main(string args)
資料結構 單向鍊錶(java實現)
public class node 為節點追加節點 當前節點 node currentnode this while true 賦值當前節點 currentnode nextnode 把需要追回的節點追加為找到的節點的下乙個節點 currentnode.next node return this 刪...
Java資料結構 鍊錶
博主q q 656358805,歡迎線上交流!public class mylinklist public void addnode type data 預設在鍊錶最後新增乙個結點 addindex.next temp temp.pre addindex this.size system.out.p...
資料結構 Java鍊錶
package linktest class link 遞迴新增節點到尾部 param newnode public void addnode node newnode else 以上為內部類 private node root 定義根節點 呼叫內部類方法新增節點 param data public...