BinaryTreeTest

  1. package com.hzfuji.sdk.common;
  2. /**
  3.  * 
  4.  * 
  5.  * @author 
  6.  */
  7. public class BinaryTreeTest {
  8.     public static void main(String args[]) {
  9.         BinaryTreeTest b = new BinaryTreeTest();
  10.         int data[] = { 12113445678956432298 };
  11.         BinaryTree root = new BinaryTree(data[0]);
  12.         System.out.print("二叉树的中的数据:  ");
  13.         for (int i = 1; i < data.length; i++) {
  14.             root.insertTree(root, data[i]);
  15.             System.out.print(data[i - 1] + ";");
  16.         }
  17.         System.out.println(data[data.length - 1]);
  18.         int key = Integer.parseInt(args[0]);
  19.         if (b.searchkey(root, key)) {
  20.             System.out.println("找到了:" + key);
  21.         } else {
  22.             System.out.println("没有找到:" + key);
  23.         }
  24.     }
  25.     /**
  26.      * 
  27.      * @param root
  28.      * @param key
  29.      * @return
  30.      */
  31.     public boolean searchkey(BinaryTree root, int key) {
  32.         boolean bl = false;
  33.         if (root == null) {
  34.             bl = false;
  35.             return bl;
  36.         } else if (root.data == key) {
  37.             bl = true;
  38.             return bl;
  39.         } else if (key >= root.data) {
  40.             return searchkey(root.rightpoiter, key);
  41.         }
  42.         return searchkey(root.leftpoiter, key);
  43.     }
  44. }
  45. /**
  46.  * 
  47.  * binary object
  48.  * 
  49.  * @author cong_px
  50.  */
  51. class BinaryTree {
  52.     int data;
  53.     BinaryTree leftpoiter;
  54.     BinaryTree rightpoiter;
  55.     BinaryTree(int data) {
  56.         this.data = data;
  57.         leftpoiter = null;
  58.         rightpoiter = null;
  59.     }
  60.     public void insertTree(BinaryTree root, int data) {
  61.         if (data >= root.data) {
  62.             if (root.rightpoiter == null) {
  63.                 root.rightpoiter = new BinaryTree(data);
  64.             } else {
  65.                 insertTree(root.rightpoiter, data);
  66.             }
  67.         } else {
  68.             if (root.leftpoiter == null) {
  69.                 root.leftpoiter = new BinaryTree(data);
  70.             } else {
  71.                 insertTree(root.leftpoiter, data);
  72.             }
  73.         }
  74.     }
  75. }
  76. // end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值