⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitriniterator.java

📁 基本的数据结构的java代码
💻 JAVA
字号:
public class BiTrInIterator extends BiTreeInterator{
	private LinStack s = new LinStack();
	
	BiTrInIterator(BiTreeNode t){
		super(t);
	}
	
	private BiTreeNode goFarLeft(BiTreeNode t){
		if(t == null) return null;
		while(t.getLeft() != null){
			s.push(t);
			t = t.getLeft();
		}
		return t;
	}
	
	public void reset(){
		if(root == null)
			 iteComplete = 1;	 
		else iteComplete = 0;
		
		if (root == null) return;
		current = goFarLeft(root);
	}
	
	public void next(){
		if(iteComplete == 1){
			System.out.println("已到二叉树尾!");
			return;
		}
		
		if(current.getRight() != null){
			current = goFarLeft(current.getRight());
		}
		else if(! s.isEmpty()){
			try{
				current = (BiTreeNode)s.pop();
			}
			catch(Exception e){
				e.printStackTrace();
			}
		}
		else
			iteComplete = 1;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -