我必須爲類編寫一個堆棧,並且當我理解堆棧如何工作的概念時,我沒有被告知它們是使用數組還是鏈接列表或其他方法創建的?大多數堆棧是如何創建的?應該從數組或鏈接列表java創建堆棧?
1
A
回答
4
ArrayDeque
是堆棧概念的可靠的類實現。這個類以最有效的方式實現了堆棧。請查看各種方法的細節的類實現。
http://www.docjar.com/html/api/java/util/ArrayDeque.java.html
更具體地說,看public E pollFirst(){...}
和public void addFirst(E e)
1
java.util.Stack是java.util.Vector中的一個子類,這是一個線程安全的前兆ArrayList的。希望有所幫助。
1
這兩個選項,數組和鏈表都適用。
鏈接列表可能更簡單,因爲您不必擔心數組大小。另一方面,基於數組的實現可能具有更好的運行時行爲,並且可以更容易調試(因爲它比調試器中的鏈表更容易查看數組)。
選擇任何你感到舒服的東西。
相關問題
- 1. 在Java中創建一組堆棧卡時替代鏈接列表?
- 2. 如何從鏈表中創建堆棧?
- 3. 從堆棧和鏈接列表JAVA中缺少數字?
- 4. Java堆棧鏈表
- 5. 的Java數組列表,鏈表和堆棧問題
- 6. 堆棧的頂部應該在堆棧的鏈表中實現?
- 7. Java數據結構使用鏈接列表的堆棧
- 8. 堆棧和數組列表
- 9. 使用鏈接列表實現堆棧
- 10. 按鏈接列表執行堆棧
- 11. C鏈接列表堆棧和指針
- 12. 鏈接列表堆棧彈出方法
- 13. 在哪裏創建動態大小數組? (堆棧或堆)
- 14. 數組或鏈接列表
- 15. 鏈接列表數組Java
- 16. 在C++中鏈接雙棧鏈表和堆棧和隊列類
- 17. 瞭解堆棧(數據結構),堆棧類,鏈表 - java?
- 18. 從兩個堆棧創建隊列
- 19. 我可以將堆棧添加到ArrayList(或鏈接列表)嗎?
- 20. 如何訪問ArrayList中的堆棧或鏈接列表?
- 21. 推送到在java中使用鏈接列表的堆棧
- 22. 列表,數組,堆棧隊列?
- 23. 從堆棧創建JSON
- 24. 從圓形鏈表創建一個堆棧,以便反向打印列表
- 25. Java Array列表堆棧
- 26. Java堆棧數組 - 大O表示法
- 27. 在Rails應用程序中實現鏈接列表堆棧
- 28. 如何添加鏈接列表或使用堆棧函數將其轉換爲鏈接列表
- 29. 爲什麼要使用鏈接列表而不是數組或矢量實現來實現堆棧或隊列?
- 30. 在Java中爲堆棧結構創建動態數組
鏈接列表似乎更合適。它具有良好的增長行爲,並且不需要通過索引來訪問元素。 – DwB 2014-10-08 18:15:10
最好的實現取決於應用程序的要求。 – megadan 2014-10-08 18:29:03