• 大小: 2.54MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-22
  • 语言: 其他
  • 标签:

资源简介

二叉树遍历图形化界面展示,课程设计。能够实现前序、中序、后序遍历。并实现良好的图形化界面及单步演示功能。

资源截图

代码片段和文件信息

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个文件信息

评论

共有 条评论