¼¸ÖÖ³£¼ûµÄÊý¾Ý½á¹¹µÄJAVAʵÏÖ
ÒÀ¾ÉûÓÐÎÄ×Ö˵Ã÷£¬Ö»ÓÐÉÙÁ¿µÄ×¢ÊÍ£¬¶þ²æ²éÕÒÊ÷Óкܶà²Î¿¼×ÊÁÏ£¬ÕâÀï¾Í²»¶à˵ÁË¡£ÏÂÃæ·îÉÏJAVA´úÂë
package utility.structure;
import java.io.Serializable;
import java.security.InvalidParameterException;
import java.util.Comparator;
import java.util.ConcurrentModificationException;
/**
*
* @author odie.tang
* @version 1.0 11/09/09
*/
public class BinarySearchTree<E> implements Comparable<E>,Serializable{
private static final long serialVersionUID = -8154673525487170187L;
/**
* The comparator, or null if priority queue uses elements'
* natural ordering.
*/
private Comparator<? super E> comparator = null;
private E data;
private BinarySearchTree<E> parent = null;
private BinarySearchTree<E> leftChild = null;
private BinarySearchTree<E> rightChild = null;
/**
* level indicates node's level in the whole tree, eg: root's level is 1, and its children's level is 2...
*/
private int level;
/**
* to identify the whether the child is a left child or a right one
*/
enum Child{left,right};
public BinarySearchTree() {
this.level = 0;
}
public BinarySearchTree(Comparator<? super E> comparator){
this.comparator = comparator;
this.level = 0;
}
public BinarySearchTree(E root) {
this(root,null);
}
public BinarySearchTree(E root,Comparator<? super E> comparator){
this.data = root;
this.comparator = comparator;
this.level = 1;
}
private BinarySearchTree(BinarySearchTree<E> parent,Child childType,E child){
this.data = child;
this.parent = parent;
this.level = parent.level + 1;
if (childType == Child.left)
parent.leftChild = this;
else
parent.rightChild = this;
this.comparator = parent.comparator;
}
public void add(E e){
if (this.level == 0){
this.level = 1;
this.data = e;
}
else{
BinarySearchTree<
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
¸öÈ˼òÀú
¸öÈËÐÅÏ¢
ÐÕÃû
£º
Öì½ð¹ú
ÐÔ±ð
£º
ÄÐ
³öÉúÈÕÆÚ
£º
1988
Äê
1
ÔÂ
9
ÈÕ
Email
£º
zhujinguo2009@gmail.com
  ......
ÕûÀíÁËһϳ£Óõ½µÄJava¿¨¿ª·¢°üÀïµÄ·½·¨£¬ÒÔºó¾ÍÄܼӿ쿪·¢ËÙ¶ÈÁË¡£
//Java Card¿ª·¢·½·¨²éѯ
import java.lang.*;
import javacard.framework.*;
import javacard.security.*;
import javacardx.crypto.*; //¸Ã°üΪÀ©Õ¹°ü
//install·½·¨
public static void install(byte[] bArray, ......
1. JavaÓïÑÔ»ù´¡
̸µ½JavaÓïÑÔ»ù´¡Ñ§Ï°µÄÊé¼®£¬´ó¼Ò¿Ï¶¨»áÍƼöBruce EckelµÄ¡¶Thinking in Java¡·¡£ËüÊÇÒ»±¾Ð´µÄÏ൱Éî¿ÌµÄ¼¼ÊõÊé¼®£¬JavaÓïÑÔ»ù´¡²¿·Ö»ù±¾Ã»ÓÐÆäËüÈκÎÒ»±¾Êé¿ÉÒÔ³¬Ô½Ëü¡£¸ÃÊéµÄ×÷ÕßBruce EckelÔÚÍøÂçÉϱ»³ÆΪÌì²ÅµÄͶ»úÕߣ¬×÷Õߵġ¶Thinking in C++¡·ÔÚ1995ÄêÔø»ñSoftwareDevelopment Jolt Award×î¼ÑÊ ......
example£º Çó5µÄ½×³Ë¡£¡£
ÈçÏ£º
public class Test {
static int multiply(int n){
if(n==1||n==0)
return n;
else
return n*multiply(n-1);
}
public static void main(String[] args){
System.out.println(multiply(10));
}
......