资源简介
二叉树遍历图形化界面展示,课程设计。能够实现前序、中序、后序遍历。并实现良好的图形化界面及单步演示功能。
代码片段和文件信息
package bs;
import java.util.linkedList;
import java.util.List;
import java.util.Stack;
public class BinTreeTraverse2 {
static int[] array1 = new int[15];
static int[] array2 = new int[15];
static int temp = 0;
static int count = 0;
private static List nodeList = null;
static String output = new String(““);
public static void visit(Node node) {
// myEditor.textArea.setText(node.getData()+“ “);
output += node.getData() + “ “;
array2[count++] = node.getData();
// count++;
System.out.print(node.getData() + “ “);
// output += node.getData()+“ “;
}
// create binary tree from array.the data stored in level-order
public void createBinTree() {
nodeList = new linkedList();
for (int i = 0 len = array1.length; i < len; i++) {
nodeList.add(new Node(array1[i]));
}
int len = array1.length;
int lastRootIndex = (len >> 1) - 1;
for (int i = lastRootIndex; i >= 0; i--) {
Node root = nodeList.get(i);
int leftIndex = i * 2 + 1;
Node leftNode = nodeList.get(leftIndex);
// Node leftNode=new Node(array[leftIndex]);//this is wrong
root.setLeft(leftNode);
// 最后的那个根节点一定是有左孩子的。右孩子则不一定
int rightIndex = leftIndex + 1;
if (rightIndex <= len - 1) {
Node rightNode = nodeList.get(rightIndex);
root.setRight(rightNode);
}
}
}
public static String preOrder1() {
BinTreeTraverse2 tree = new BinTreeTraverse2();
tree.createBinTree();
count = 0;
preOrder(nodeList.get(0));
System.out.println();
return output;
}
public static String inOrder1() {
BinTreeTraverse2 tree = new BinTreeTraverse2();
tree.createBinTree();
count = 0;
inOrder(nodeList.get(0));
// inOrderStack(nodeList.get(0));
System.out.println();
return null;
}
public static String postOrder1() {
BinTreeTraverse2 tree = new BinTreeTraverse2();
tree.createBinTree();
count = 0;
// postOrderStack(nodeList.get(0));
postOrder(nodeList.get(0));
System.out.println();
return null;
}
public static void preOrderStack(Node root) {
Stack stack = new Stack();
Node p = root;
if (p != null) {
stack.push(p);
while (!stack.isEmpty()) {
p = stack.pop();
visit(p);
if (p.getRight() != null)
stack.push(p.getRight());
if (p.getLeft() != null)
stack.push(p.getLeft());
}
}
}
// nonRecursion inOrder Traverse
public static void inOrderStack(Node p) {
Stack stack = new Stack();
while (p != null || !stack.isEmpty()) {
// push all LeftChildwhen p has no LeftChildthat means it‘s
// rootit should be visited
while (p != null) {
stack.push(p);
p = p.getLeft();
}
if (!stack.isEmpty()) {
p = stack.pop();
visit(p);
p = p.getRight();
}
}
}
// nonRecursion postOrder Traverse
public sta
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-18 19:15 二叉树遍历\
目录 0 2014-05-18 19:15 二叉树遍历\BinaryTree1.1\
文件 301 2014-03-18 08:01 二叉树遍历\BinaryTree1.1\.classpath
文件 378 2014-03-18 08:01 二叉树遍历\BinaryTree1.1\.project
目录 0 2014-05-18 19:15 二叉树遍历\BinaryTree1.1\.settings\
文件 598 2014-03-18 08:01 二叉树遍历\BinaryTree1.1\.settings\org.eclipse.jdt.core.prefs
目录 0 2014-05-18 19:15 二叉树遍历\BinaryTree1.1\bin\
目录 0 2014-05-18 19:15 二叉树遍历\BinaryTree1.1\bin\bs\
文件 968 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\BinTreeTraverse2$Node.class
文件 4586 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\BinTreeTraverse2.class
文件 851 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\login$1.class
文件 781 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\login$2.class
文件 979 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\login$ImageButton.class
文件 1251 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\login$NewPanel.class
文件 1782 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\login.class
文件 963 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$1.class
文件 830 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$10.class
文件 831 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$11.class
文件 831 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$12.class
文件 831 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$13.class
文件 833 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$14.class
文件 833 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$15.class
文件 833 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$16.class
文件 833 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$17.class
文件 833 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$18.class
文件 833 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$19.class
文件 827 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$2.class
文件 3238 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$3.class
文件 655 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$4.class
文件 824 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$5.class
文件 828 2014-05-05 22:58 二叉树遍历\BinaryTree1.1\bin\bs\myEditor$6.class
............此处省略25个文件信息
评论
共有 条评论