您好,登錄后才能下訂單哦!
java項目中怎么將數據結構轉換為單鏈表?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
單鏈表實現鏈表的打印及元素刪除操作,鏈表的實現主要是next屬性的定義,將一堆節點關聯起來的。實現簡單的鏈表如下:
public class LinkNode { private int value; private LinkNode next; public LinkNode(int x) { value = x; } public LinkNode getNext(){ return next; } public void setNext(LinkNode next) { this.next = next; } public int getValue() { return value; } }
鏈表操作工具類如下:
public class LinkNodeUtil { public LinkNode deleteNode(LinkNode list,LinkNode node) { //空鏈表 if(node==null||list==null||list.getNext()==null){ return list; } //查找node節點 LinkNode curNode = list; LinkNode preNode = null; LinkNode next = list.getNext(); while(curNode!=null){ if(curNode.getValue()==node.getValue()){//找到 System.out.println("找到待刪除對象了。"+node.getValue()); break; } preNode = curNode; curNode = next; next = next.getNext(); } //刪除node節點 if(preNode==null){ //第一個元素刪除操作直接修正list為next:curNode-next return next; }else{ //刪除中間節點中間:preNode-curNode-next preNode.setNext(next); return list; } } public void printListNode(LinkNode list){ LinkNode node = list; while(node!=null){ System.out.println(node.getValue()); node = node.getNext(); } } public static void main(String[] args) { LinkNode n1 = new LinkNode(1); LinkNode n2 = new LinkNode(2); LinkNode n3 = new LinkNode(3); LinkNode n4 = new LinkNode(4); n1.setNext(n2); n2.setNext(n3); n3.setNext(n4); n4.setNext(null); LinkNodeUtil s = new LinkNodeUtil(); s.printListNode(n1); s.printListNode(s.deleteNode(n1, n3)); } }
注意鏈表刪除節點如果是第一個節點的話,直接將鏈表對象賦值給next對象并返回。
關于java項目中怎么將數據結構轉換為單鏈表問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。