您的位置:首页 > 理论基础 > 数据结构算法

数据结构--树的遍历(前序)

2016-04-28 10:52 302 查看
前序遍历(DLR)

前序遍历也叫做先根遍历、先序遍历,可记做根左右。

前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
/二叉树游标前序遍历类

public class MyBiTreePreIterator extends MyBiTreeIterator{

Stack<MyBiTreeNode> stack = new Stack<MyBiTreeNode>();

MyBiTreePreIterator()

{

}

MyBiTreePreIterator(MyBiTreeNode root)

{

super(root);

}

@Override

public void next() {

// TODO Auto-generated method stub

if(this.isComplete)

{

System.out.println("已经遍历到二叉树结尾!");

return ;

}

if(this.curr.getRightChild()!=null)

{

stack.push(this.curr.getRightChild());

}

if(this.curr.getLeftChild()!=null)

{

stack.push(this.curr.getLeftChild());

}

if(!stack.empty())

{

this.curr = stack.pop();

}

else

{

this.isComplete = true;

}

}

@Override

public void reset() {

// TODO Auto-generated method stub

if(this.root==null)

{

this.isComplete = true;

}

else

{

this.isComplete = false;

}

if(this.root==null)

{

return ;

}

this.curr = this.root;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: