J'ai récemment assisté à une interview où l'on m'a demandé d'implémenter une liste chaînée à l'aide d'un tableau en Java. Je ne pouvais pas penser à une manière décente de le faire. Y a-t-il un moyen légitime de le faire?Implémentation d'une liste chaînée à l'aide d'un tableau en Java
Répondre
Vous pourriez (par exemple) avoir une liste liée d'entiers en mettant votre premier élément de données dans l'élément du tableau, et l'index de l'élément suivant dans le second élément. Bien que, cela vous limiterait à stocker des types qui étaient compatibles avec/convertibles en un index.
La question n'a pas vraiment de sens quand nous parlons de la façon dont nous sommes habitués à regarder les listes en Java.
Il existe une interface List
qui définit une méthode get(int index)
set(int index, T value)
utilisée pour accéder ou définir les données de la liste.
Une liste chaînée est un nombre d'instances de certaines classes ListItem qui pointent vers la suivante et la LinkedList elle-même ne contient généralement que la référence au 1er ListItem. Ensuite, si vous voulez la 3ème entrée de la liste, vous "promenez" le long des références jusqu'au 3ème item. Forcer un tableau dans cette construction éliminerait tout le concept d'une LinkedList.
- 1. implémentation de la liste chaînée java
- 2. Liste chaînée Implémentation d'une pile en C++
- 3. Implémentation de la liste chaînée
- 4. Liste chaînée simultanée verrouillée en Java
- 5. Implémentation de la liste chaînée style tableau de bord C++
- 6. liste chaînée unique en java
- 7. Débogage d'une implémentation de liste chaînée
- 8. Implémentation d'une liste ADT à l'aide de la liste chaînée
- 9. Implémentation de la liste chaînée C++
- 10. implémentation de liste chaînée méthode add
- 11. Recherche d'une implémentation de "carte chaînée" en Java
- 12. Implémentation de pile avec liste chaînée
- 13. Itérer par liste chaînée en Java
- 14. liste chaînée de java à C++
- 15. Créer une liste chaînée miroir en Java
- 16. Implémentation de BinarySearchTree à l'aide d'une seule liste chaînée
- 17. Implémentation de la liste chaînée avec l'interface de l'itérateur
- 18. liés Liste implémentation en Java et Garbage Collection
- 19. Liste chaînée en python
- 20. C Pile dactylographiée: Implémentation de la liste chaînée
- 21. C++ Implémentation de l'implémentation de la liste chaînée
- 22. Appel récursif d'une classe (Implémentation d'une liste chaînée)
- 23. Implémentation de la liste chaînée Ruby #remove! Blocage inefficace
- 24. Implémentation push/pop dans une liste chaînée (C++)
- 25. Tableau vers la liste chaînée C
- 26. Implémentation d'une méthode remove pour une liste doublement chaînée
- 27. Implémentation d'une liste virtuelle en Java
- 28. Implémentation de longueur pour une liste doublement chaînée, python
- 29. NoeudPointerException de la liste chaînée JAVA NullPointerException
- 30. méthode add de liste chaînée java
Bien sûr, il y a. Il y a quelques mises en garde concernant la performance dans des conditions que je vous laisse découvrir. –
connexes: http://stackoverflow.com/questions/10477754/implement-linked-list-using-array-advantages-disadvantages –
[This] [1] pourrait vous être utile. Mapper l'implémentation à travers une liste chaînée [1]: http://stackoverflow.com/questions/6824571/java-is-it-possible-to-implement-a-custom-map-of-widgets-using-widget-class- ou – vector