package com.cjonline.foundation.evisa;

public class TestTree {

    private int data=-1;
private TestTree lchild=null;
private TestTree rchild=null;
private int pos=-1; //记录当前已经使用数组的位置 /*
* 构造二叉树
*/
public TestTree createTree(TestTree tree,int[] data){
if(data == null || data.length<1)
return null;
tree = new TestTree();
pos++;
if(pos<data.length && data[pos]!=-1){
tree.data=data[pos];
tree.setLchild(createTree(lchild,data));//设置左孩子
tree.setRchild(createTree(rchild,data));//设置右孩子
}
return tree;
}
/*
* 前序遍历
*/
public void print(TestTree t){
if(t!=null && t.getData()!=-1){
System.out.print(" "+t.getData());
print(t.getLchild());
print(t.getRchild());
}
} @Override
public String toString() {
return "TestTree [data=" + data + "]";
}
public static void main(String[] args) {
TestTree tree = new TestTree();
int[] data = {1,2,-1,-1,3,-1,-1};
tree=tree.createTree(tree, data);
System.out.println(tree);
System.out.println(tree.getLchild());
System.out.println(tree.getRchild());
tree.print(tree);
} /**
* 获取data
* @return
*/
public int getData() {
return data;
} /**
* 设置 data
* @param data
*/
public void setData(int data) {
this.data = data;
} /**
* 获取lchild
* @return
*/
public TestTree getLchild() {
return lchild;
} /**
* 设置 lchild
* @param lchild
*/
public void setLchild(TestTree lchild) {
this.lchild = lchild;
} /**
* 获取rchild
* @return
*/
public TestTree getRchild() {
return rchild;
} /**
* 设置 rchild
* @param rchild
*/
public void setRchild(TestTree rchild) {
this.rchild = rchild;
} /**
* 获取pos
* @return
*/
public int getPos() {
return pos;
} /**
* 设置 pos
* @param pos
*/
public void setPos(int pos) {
this.pos = pos;
} }

用java语言编写的简单二叉树的更多相关文章

  1. 第二次作业利用java语言编写计算器进行四则运算

    随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...

  2. 使用java语言编写窗口按钮

    使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import ja ...

  3. 用C语言编写一个简单的词法分析程序

    问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...

  4. Atiitt 使用java语言编写sql函数或存储过程

    Atiitt 使用java语言编写sql函数或存储过程 1.1. java编写sql函数或存储过程的机制1 1.2. Java编写sp的优点1 1.3. 支持java源码,class文件,blog f ...

  5. Fastjson是一个Java语言编写的高性能功能完善的JSON库。

    简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...

  6. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置jdk-15.0.1-免配置路径版提取码:earu免安装版 ...

  7. 用Java语言编写一个简易画板

    讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...

  8. 用 C 语言编写一个简单的垃圾回收器

    人们似乎觉得编写垃圾回收机制是非常难的,是一种仅仅有少数智者和Hans Boehm(et al)才干理解的高深魔法.我觉得编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc例 ...

  9. java语言编写矩阵的四则运算

    题目要求如下: 设计程序实现矩阵的四则运算 设计要求: (1) 实现矩阵的四则运算. (2) 考虑实现带变元的矩阵计算. (3)考虑实现矩阵的特征值和特征向量的计算. 我使用java语言写的 目录结构 ...

随机推荐

  1. pat1005. Spell It Right (20)

    1005. Spell It Right (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given ...

  2. URAL 1252 ——Sorting the Tombstones——————【gcd的应用】

    Sorting the Tombstones Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I ...

  3. javascript数组与字符串之间转换

    一.数组转字符串(将数组元素用某个字符连接成字符串) var a, b;a = new Array(0,1,2,3,4);b = a.join("-"); 二.字符串转数组(将字符 ...

  4. SpringSecurity 3.2入门(2)环境搭建

    由于目前Spring官方只提供Meven的下载方式,为了能以最快的速度入门使用框架,这里提供百度网盘下载链接. 注:本入门教程默认已经配置成功SpringMVC框架. 1.web.xml配置 < ...

  5. git把dev部分提交过的内容合并到master

    git 把dev部分提交过的内容合并到master $ git reflog a6de5cc HEAD@{}: checkout: moving from wf_dev to master 303aa ...

  6. javascript window.open in safari

    在ios系统中,无法使用 window.open 打开url,经过一番尝试终于找到了解决办法 var url='http://www.baodu.com'; var deviceAgent = nav ...

  7. PCA (主成分分析)详解——转载 古剑寒

    转载地址:http://my.oschina.net/gujianhan/blog/225241 另外可以参考相关博文:http://blog.csdn.net/neal1991/article/de ...

  8. OLEDB 静态绑定和数据转化接口

    OLEDB 提供了静态绑定和动态绑定两种方式,相比动态绑定来说,静态绑定在使用上更加简单,而在灵活性上不如动态绑定,动态绑定在前面已经介绍过了,本文主要介绍OLEDB中的静态,以及常用的数据类型转化接 ...

  9. 原生js获取手机定位信息

    <script type="text/javascript"> function Location() {}; Location.prototype.getLocati ...

  10. PHP连接MySQL数据库的几种方式

    PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口. PDO (PHP Data Objects ...