2016-04-28 52 views
-1

我打算編寫一個java程序來管理特定地點(姓名,地址,電話等)的人口數據,並且必須使用數據結構體。實現人口管理程序的數據結構

所以我的問題是哪個數據結構對此最實用? (它也將添加,顯示,刪除,排序也)。

我想與鏈接列表,但我只是不覺得它是正確的方式。謝謝。

+4

爲什麼不創建一個存儲這些屬性的類,然後讓這個類的集合感覺合適? – Draken

+2

作業?爲什麼鏈表不舒服? – Jite

+0

位置實例的集合,每個實例都封裝了名稱,地址,電話等,這些對我來說都很合適。 「名稱」是指位置?不是一個人,對嗎? – 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

謝謝,我會試試你的方法 –