用java语言编写的简单二叉树
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语言编写的简单二叉树的更多相关文章
- 第二次作业利用java语言编写计算器进行四则运算
随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...
- 使用java语言编写窗口按钮
使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import ja ...
- 用C语言编写一个简单的词法分析程序
问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...
- Atiitt 使用java语言编写sql函数或存储过程
Atiitt 使用java语言编写sql函数或存储过程 1.1. java编写sql函数或存储过程的机制1 1.2. Java编写sp的优点1 1.3. 支持java源码,class文件,blog f ...
- Fastjson是一个Java语言编写的高性能功能完善的JSON库。
简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...
- 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)
使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置jdk-15.0.1-免配置路径版提取码:earu免安装版 ...
- 用Java语言编写一个简易画板
讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...
- 用 C 语言编写一个简单的垃圾回收器
人们似乎觉得编写垃圾回收机制是非常难的,是一种仅仅有少数智者和Hans Boehm(et al)才干理解的高深魔法.我觉得编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc例 ...
- java语言编写矩阵的四则运算
题目要求如下: 设计程序实现矩阵的四则运算 设计要求: (1) 实现矩阵的四则运算. (2) 考虑实现带变元的矩阵计算. (3)考虑实现矩阵的特征值和特征向量的计算. 我使用java语言写的 目录结构 ...
随机推荐
- Linux分区扩容
lz在MAC上面使用Linux虚拟机,开始只建了一个分区,挂载在”/”目录下.现在硬盘空间不够了,所以lz就来给这个分区扩容. 首先,当然是要给虚拟机分配更多的硬盘空间喽(lz用的是VMware Fu ...
- Linux服务器性能评估与优化--转
http://www.itlearner.com/article/4553 一.影响Linux服务器性能的因素 1. 操作系统级 Ø CPU Ø 内存 Ø 磁盘I/ ...
- 【PPTP】windows & linux 安装pptp
1.Windows下安装 PPTP 打开网络和共享中心 更改适配器配置 按一下alt,之后,点击左上角的文件---->新建传入连接 在新建传入连接这边点击添加用户 如输入用户名:Evelyn ...
- C#中三个关键字params,Ref,out
关于这三个关键字之前可以研究一下原本的一些操作 using System; using System.Collections.Generic; using System.Text; namespace ...
- hadoop 天气案例
对下面一组气温数据进行处理,得到每个月份最高的两个气温值 2018-12-12 14:30 25c2018-12-12 15:30 26c2017-12-12 12:30 36c2019-01-01 ...
- js把数据处理成钱的格式
1.var Rmoney = parseFloat(money).toFixed(2);//把money处理成保存2位小数的格式
- 集合之Iterator迭代器
Iterator迭代器概述: java中提供了很多个集合,它们在存储元素时,采用的存储方式不同.我们要取出这些集合中的元素,可通过一种通用的获取方式来完成. Collection集合元素的通用获取 ...
- Iscrool下拉刷新
简易下拉刷新 css样式: *{ margin: 0px; padding: 0px; } #wrapper{ width: 100%; height: 150px; border: 1px soli ...
- Elipse plugin or Bundle & OSGI
Develop and register service, lookup and use service! Android Design on service's publish-find-bind ...
- PHP Primary script unknown 终极解决方法
相信很多配置php环境的都遇到过这个恼人的问题: 浏览器访问php文件,返回来 File not found 查看/var/log/nginx/error.log ,有 “Primary script ...