六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 6|回复: 0

转帖 JAVA 二叉树 实现

[复制链接]

升级  10%

1

主题

1

主题

1

主题

童生

Rank: 1

积分
5
 楼主| 发表于 2013-2-3 11:15:40 | 显示全部楼层 |阅读模式
原帖地址:http://topic.csdn.net/u/20090218/17/6f07b6db-5019-4102-bc72-cc4db3eae890.html
1)要求   <!-- google_ad_section_start -->用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来:
定义Node
public class Node {
 public int key;
 
 Node right;
 
 Node left;
 public Node(int key) {
  this.key = key;
 }
 public String toString() {
  return "my key is " + key;
 }
}
定义二叉树
public class Tree {
 public Node root;
 public Node findNode(Node node) {
  Node current = root;
  while (current.key != node.key) {
   if (current.key > node.key) {
    current = current.left;
   } else {
    current = current.right;
   }
   if (current == null) {
    return null;
   }
  }
  return current;
 }
 public void insertNode(Node node) {
  if (root == null) {
   root = node;
  } else {
   Node current = root;
   Node parent;
   while (true) {
    parent = current;
    if (current.key > node.key) {
     current = current.left;
     if (current == null) {
      parent.left = node;
      return;
     }
    } else {
     current = current.right;
     if (current == null) {
      parent.right = node;
      return;
     }
    }
   }
  }
 }
 public void inOrder(Node current) {
  if (current != null) {
   inOrder(current.left);
   System.out.println(current);
   inOrder(current.right);
  }
 }
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表