2012-09-12 2 views
3

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

+1

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. –

+0

connexes: http://stackoverflow.com/questions/10477754/implement-linked-list-using-array-advantages-disadvantages –

+0

[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

Répondre

1

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.

0

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.

Questions connexes