java二叉树创建以及遍历
来源:互联网 发布:怎么永久关闭淘宝店铺 编辑:程序博客网 时间:2024/06/14 16:41
学校发的数据结构书还不错,伪代码但是靠谱。最近要用java实现二叉树创建和遍历。不太喜欢那些网上代码。所以就自己结合书结合网上再结合一个人类的一点修改成功啦,细节很重要啊,差一点就是差很多。
实验要求:
1. 递归创建一棵二叉树;
2. 自定义一个Stack,实现二叉树的前序非递归遍历;
3. 实现二叉树的前序、中序递归遍历我只实现了创建和递归遍历。(1)
package BinaryTree;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
BinaryTree bint=new BinaryTree();
Treenode node=new Treenode();
Treenode node1;
System.out.println("请开始输入二叉树节点,输入0结束");
Scanner scan=new Scanner(System.in);
node1=bint.createbinarytree(node,scan);
System.out.println("output : The Binary tree node:");
bint.preoder(node1);
}
}
package BinaryTree;
import java.util.Scanner;
public class Treenode {
private String data=null;
private Treenode lchild;
private Treenode rchild;
public Treenode(String data) {
this.data = data;
}
public Treenode() {
}
public Treenode(String data, Treenode lchild, Treenode rchild) {
this.data = data;
this.lchild = lchild;
this.rchild = rchild;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public Treenode getLchild() {
return lchild;
}
public Treenode setLchild(Treenode lchild) {
return this.lchild = lchild;
}
public Treenode getRchild() {
return rchild;
}
public Treenode setRchild(Treenode rchild) {
return this.rchild = rchild;
}
}
package BinaryTree;
import java.util.Scanner;
public class BinaryTree {
public static void main(String[] args) {
}
public Treenode createbinarytree(Treenode node,Scanner scan) {
String tmp=scan.next();
if (tmp.equals("0")) //原为scan.next().equals(''0'')×
{
node = null;
}
else
{
node = new Treenode(tmp);
{
node.setLchild(createbinarytree(node.getLchild(), scan));
node.setRchild(createbinarytree(node.getRchild(),scan));
}
}
return node;
}
public void preoder(Treenode node) {
if (node!=null)
{
preoder(node.getLchild());
System.out.println( node.getData());
preoder(node.getRchild());
}
}
}
2,左右孩子创建由于是private也不会传,不会写。
不会调试,不会善于使用debug,
差一点真的差好多!希望谨记
- java二叉树创建以及遍历
- java二叉树创建以及遍历
- 二叉树创建以及遍历
- java实现二叉树的创建以及遍历
- java实现二叉树的创建以及遍历
- java创建二叉树以及8种遍历方法
- Java创建/遍历二叉树
- Java 二叉树创建遍历
- 二叉树的创建以及遍历
- C++ 二叉树的创建以及遍历
- 二叉树的创建以及遍历
- 二叉树创建以及遍历方式
- 二叉树动态链式创建以及遍历
- 二叉树的创建以及遍历方法
- 二叉树的存储、创建以及遍历
- 二叉树的创建以及各种遍历
- 二叉树的创建,递归遍历以及非递归遍历
- 二叉树的创建,以及递归前中后序以及层次遍历
- Rxjava编程思想
- Android监听系统输入法键盘弹出显示与隐藏事件
- 自我学习之es6(1)
- 数据结构之ArrayList的简单实现
- D3D11和D3D12多线程渲染框架的比较(四)
- java二叉树创建以及遍历
- [ 线段树 ] Codeforces903G
- 谷歌浏览器插件-jsonView插件安装与使用
- vue-awesome-swiper 自动轮播问题
- JAXB その4
- django 原有表格添加或删除 字段
- Mysql设置唯一值
- jvisualvm安装visualgc插件(java.net网站已关闭)
- elasticsearch 去重