Comparable接口,直译过来也就是比较器,通常用于实现指定对象的排序规则。Comparable接口的定义如下:
public interface Comparable<T>{ public int compareTo(T o);
compareTo()方法返回一个int类型的值,此返回值只有以下三个:
1:表示大于
-1:表示小于
0:表示等于
基于Comparable接口实现的二叉树操作
/** * */ package com.java.thread; /** * @author JimyChen * @date 2009-9-1 */ class BinaryTree{ class Node{ private Comparable data; private Node left; private Node right; public void addNode(Node newNode){ if(newNode.data.compareTo(this.data) < 0){//这里关键要搞清楚这个this的含义 if(this.left==null){ this.left=newNode; }else{ this.left.addNode(newNode); } } if(newNode.data.compareTo(this.data) >= 0){ if(this.right==null){ this.right=newNode; }else{ this.right.addNode(newNode); } } } public void printNode(){ if(this.left!=null){ this.left.printNode(); } System.out.print(this.data+"\t"); if(this.right!=null){ this.right.printNode(); } } }; private Node root; 本新闻共2页,当前在第1页 1 2