2011-06-18 38 views
0

正しい方向にナッジが必要です。これまでにコード化しました>>バイナリツリーの開始を助ける必要がありますか?

import java.util.Scanner; 

class clubmember { 

    public static void main(String[] args) { 

     int id; 
     String fname, lname; 
     Scanner input = new Scanner(System.in); 

     System.out.println("ID>"); 
     id = input.nextInt(); 

     System.out.println("Fname >"); 
     fname = input.next(); 

     System.out.println("lname >"); 
     lname = input.next(); 


     Person object1 = new Person(id, fname, lname); 

     System.out.println(object1); 


    } 
} 




public class Person { 
    private final int id; 
    private final String firstName; 
    private final String lastName; 


    public Person(int id, String firstName, String lastName) { 
     this.id = id; 
     this.firstName = firstName; 
     this.lastName = lastName; 
    } 

    public int getId() { 
     return id; 
    } 

    public String getFirstName() { 
     return firstName; 
    } 

    public String getLastName() { 
     return lastName; 
    } 

    @Override 
    public String toString() { 
     return String.valueOf(id) + ": " + firstName + " " + lastName; 
    } 
} 

メンバーIDを名前で表示するバイナリツリーを作成する必要があります。私は無限のバイナリツリーを見てきましたが、実際にどのようにこの情報を取得してそれを処理するのか混乱させました。誰も私に出発点またはこれに似たいくつかのサンプルコードを教えてもらえますか?

答えて

1

この優れたintroduction to binary treesをスタンフォードCSライブラリからお読みください。

+0

私はバイナリツリーが何であるか理解していますが、私はあなたがプログラムでそれをどのように使用するか分かりません。プログラムにどのようなコードが結びついていますか? – allencoded

+0

私は難しいことを意味するわけではありませんが、あなたのコメントに基づいて、バイナリツリーが何であるかを知っているようには本当に聞こえません。あなたのプログラムは何をすべきですか?あなたは検索する人の木を持っていることを意味していますか?そうであれば、人が左右の子供を持つことができるように、ノードクラスが必要です(または、あなたのPersonクラスにそれをひねる)。これはまた、ある人が他の人よりも「より小さい」または「より大きい」ことができるように、それらを注文する方法を持たなければならないことを意味します。多分人の名前に基づいて比較する必要があるように聞こえます... – YXD

+0

私がしなければならないことは、人をとり、それらを順番に表示するバイナリツリーを作ることです。 – allencoded

関連する問題