Binary search tree 二叉搜索树,宽度优先遍历

Binary search tree 二叉搜索树,宽度优先遍历,binary-search-tree,Binary Search Tree,我坐在这个上面已经有一段时间了。在二叉搜索树中,当你进行广度优先遍历时,有一行代码我不知道它是做什么的。在教科书中,我使用的代码如下 public void breadthFirst() { BSTNode<T> p = root; Queue<BSTNode<T>> queue = new Queue<BSTNode<T>>(); if(p != null) {

我坐在这个上面已经有一段时间了。在二叉搜索树中,当你进行广度优先遍历时,有一行代码我不知道它是做什么的。在教科书中,我使用的代码如下

public void breadthFirst()
    {
        BSTNode<T> p = root;
        Queue<BSTNode<T>> queue = new Queue<BSTNode<T>>();
        if(p != null)
        {
            queue.enqueue(p); 
        while(!queue.isEmpty()) 
        {
            **p = queue.dequeue();**  
            visit(p); 
            if(p.left != null)
            {
                queue.enqueue(p.left);
            }
            if(p.right != null)
            {
                 queue.enqueue(p.right);
                }
               }
    }
}
public void breadthFirst()
{
BSTP=根节点;
队列=新队列();
如果(p!=null)
{
排队(p);
而(!queue.isEmpty())
{
**p=queue.dequeue();**
访问(p);
如果(p.left!=null)
{
排队。排队(p.左);
}
如果(p.right!=null)
{
排队。排队(右图);
}
}
}
}

队列包含我们必须访问的节点。在访问某个节点之前,我们会将其从队列中取出(出列),这样就不会再次访问该节点

对不起,忘了提了。我遇到问题的代码是p=queue.dequeue(),它位于****之间。谢谢好了,我现在拿到了。非常感谢你!