📄 traverse.java
字号:
public class Traverse{
public static void preOrder(BiTreeNode t, Visit vs){
//前序遍历二叉树t,访问结点操作为vs.print(t.data)
if(t != null){
vs.print(t.data);
preOrder(t.getLeft(),vs);
preOrder(t.getRight(),vs);
}
}
public static void inOrder(BiTreeNode t, Visit vs){
//中序遍历二叉树t,访问结点操作为vs.print(t.data)
if(t != null){
inOrder(t.getLeft(),vs);
vs.print(t.data);
inOrder(t.getRight(),vs);
}
}
public static void postOrder(BiTreeNode t, Visit vs){
//后序遍历二叉树t,访问结点操作为vs.print(t.data)
if(t != null){
postOrder(t.getLeft(),vs);
postOrder(t.getRight(),vs);
vs.print(t.data);
}
}
public static void levelOrder(BiTreeNode t, Visit vs) throws Exception{
//层序遍历二叉树t,访问结点操作为vs.print(t.data)
LinQueue q = new LinQueue();
if(t == null) return;
BiTreeNode curr;
q.append(t);
while(! q.isEmpty()){
curr = (BiTreeNode)q.delete();
vs.print(curr.data);
if(curr.getLeft() != null)
q.append(curr.getLeft());
if(curr.getRight() != null)
q.append(curr.getRight());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -