2011-01-30 103 views
-1

在我上大學的日子裏,我曾經在C/C++中做過關於樹,鏈表,bst,b樹等數據結構的編程,但是在我上大學的日子裏,我在過去的2年中一直在使用java,從來沒有使用過這些數據結構。我沒有任何關於如何在java中實現tress,bst,b樹的線索。任何人都可以給我一些關於如何在java中實現簡單數據結構的線索?我知道Java有很多內置的這種形式的collections.I要實現bst,鏈表,樹,在java中在java中實現數據結構

+1

這個問題還可以:「如何在Java中實現什麼?」。 – Daniel 2011-01-30 10:04:01

回答

0

它和C++一樣。

語法幾乎相同,只是你沒有指針 - 你有參考。

一切都是通過引用,所以如果你說你知道C++,只是想想而已,因爲所有的功能,讓他們有&參考參數。

1

它特定於數據結構,因爲我認爲指針在實現這些指針時非常重要,而java沒有指針。

Java確實有指針的等價物。它們被稱爲「對象引用」或簡單的「引用」。

授予C/C++樣式指針和Java引用之間的區別。 (例如,您不能對Java引用進行算術運算或將Java整數轉換爲引用)。但是,這些「限制」都不能阻止您實現通用數據結構。事實上,如果有的話更容易,因爲你不需要擔心內存管理......在大多數情況下。

其他答案爲使用Java作爲主要展示語言的數據結構的教科書提供參考。

0

相反的指針,你可以使用的對象,如果你想我可以上傳你舉個例子,當我得到稀疏矩陣的家在Java中幾乎是工作,他同指針。它更容易在java中實現數據結構,因爲你沒有Memomry分配的問題Java爲你做了......而關於實現讓我們說你有像結點一樣包含Item對象並在java對象中留下同樣的東西的結構繼承人一個例子

public class Node<T> { 
    T data; 
    Node<T> left; 
    Node<T> right; 


    public Node<T>(T data, Node<T> left, Node<T> right) { 
     ... 
    } 
} 

和getter和setter