亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將一個節點分配為java中的prev節點?

如何將一個節點分配為java中的prev節點?

飲歌長嘯 2022-11-02 16:57:08
我正在研究二叉搜索樹。我有一個前一個節點和一個節點。前一個節點位于該節點之前。我需要幫助分配前一個節點。這是我的代碼塊:private BSTNode<E> add(BSTNode<E> node, E value, BSTNode<E> parent, BSTNode<E> prev){    if (node == null)    {        node = new BSTNode<E>(value);        node.parent = parent;       //issue takes place here.         node.next = node;        node = prev;        this.numElements++;    }    else if (node.data.compareTo(value) > 0)    {        node.left = add(node.left, value, node , getPrevNode(node));    }    else if (node.data.compareTo(value) < 0)    {        node.right = add(node.right, value, node, node.parent);    }    return node;}在這個類里面public class BinarySearchTree<E extends Comparable<E>>{private BSTNode<E> root; // root of overall treeprivate int numElements;private BSTNode<E> first;// post: constructs an empty search treepublic BinarySearchTree(){    this.root = null;    this.numElements = 0;}private static class BSTNode<E>{    public E data;    public BSTNode<E> left;    public BSTNode<E> right;    public BSTNode<E> parent;    public BSTNode<E> next;    public BSTNode(E data)    {        this(data, null, null, null, null);    }    public BSTNode(E data, BSTNode<E> left, BSTNode<E> right, BSTNode<E> parent, BSTNode<E> next)    {        this.data = data;        this.left = left;        this.right = right;        this.parent = parent;        this.next = next;    } }}我會嘗試使用遞歸來解決這個問題,但是放棄這些想法,因為我不確定如何解決這個問題。我已經嘗試了幾種方法,但都沒有奏效。
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

找到了我要找的答案,就是這個


if(prev == null)

        {

            node.next = parent;

        }

        else

        {

            node.next = prev.next;

            prev.next = node;

        }


查看完整回答
反對 回復 2022-11-02
  • 1 回答
  • 0 關注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號