2016-04-28 12 views
-1

私は、特定の場所(名前、住所、電話など)の人口データを管理するJavaプログラムを作成し、データを使用して実装する必要があります構造。人口管理プログラムのためのデータ構造を実装する

私の質問は、これに対してどのデータ構造が最も実用的であるかです。 (また、追加、表示、削除、ソートも行います)。

私はリンクリストで試していますが、私はちょうどそれが正しい方法であると感じません。ありがとう。

+4

これらのプロパティを格納しているクラスを作成し、そのクラスのコレクションが適切なものになるのはなぜですか。 – Draken

+2

宿題?なぜリンクリストは気分が悪いのですか? – Jite

+0

Locationインスタンスのコレクション。名前、住所、電話などをカプセル化したものがそれぞれ私にとって正しいと感じています。 「名前」は場所を参照していますか?人ではない、正しい? – duffymo

答えて

0

ここでは、説明したような非常に曖昧なシェルがあります。あなたはLinkedListsが好きではないように思われるので、代わりにバイナリ検索ツリーを使うことができます。バイナリ検索ツリーを参照してWikipediaを探し、すべての空のメソッドを実装します。

public class Population { 

    private String name; 
    private String address; 
    private String phoneNumber; 

    public Population(String name, String address, String phoneNumber) { 
     this.name = name; 
     this.address = address; 
     this.phoneNumber = phoneNumber; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getAddress() { 
     return address; 
    } 

    public void setAddress(String address) { 
     this.address = address; 
    } 

    public String getPhoneNumber() { 
     return phoneNumber; 
    } 

    public void setPhoneNumber(String phoneNumber) { 
     this.phoneNumber = phoneNumber; 
    } 

    public int compareTo(Population o) { 
     return 0; 
    } 
} 


public class MyNode { 
    private Population data; 
    private MyNode left; 
    private MyNode right; 

    public MyNode(Population data, MyNode left, MyNode right) { 
     this.data = data; 
     this.left = left; 
     this.right = right; 
    } 

    public Population getData() { 
     return data; 
    } 

    public void setData(Population data) { 
     this.data = data; 
    } 

    public MyNode getLeft() { 
     return left; 
    } 

    public void setLeft(MyNode left) { 
     this.left = left; 
    } 

    public MyNode getRight() { 
     return right; 
    } 

    public void setRight(MyNode right) { 
     this.right = right; 
    } 
} 

public class MyTree { 
    private MyNode root; 

    public MyTree(MyNode root) { 
     this.root = root; 
    } 

    public MyTree() { 
     this.root = null; 
    } 

    public void insert(MyNode node) { 

    } 

    public void remove(MyNode node) { 

    } 

    public boolean isEmpty() { 
     return false; 
    } 

    public MyNode search(MyNode node) { 
     return null; 
    } 

} 
+0

ありがとう、私はあなたの方法を試してみます –

関連する問題