Excusez mon ignorance, mais je commence à préparer ma première entrevue technique et je suis tombé sur cette question et répondez sur la question LinkedList
Question: implémenter un algorithme pour supprimer un nœud au milieu d'un seul lien liste, donnée uniquement accès à ce nœud fort> p> Je veux commencer à jouer avec ce code (apporter des modifications compilez le test) mais je ne sais pas comment commencer faire cela en Java. Je ne trouve pas la classe LinkedListnode dans les documents Java. P> Cela pourrait être une question très stupide, mais si quelqu'un peut me signaler dans la bonne direction - l'appréciera. P> Modifier strong> p> Merci pour les réponses rapides et utiles. Je suppose que ma question n'était pas très claire. L'algorithme ci-dessus a été fourni comme solution à cette question. Je voulais savoir comment mettre en œuvre cela en Java afin que je puisse jouer avec le code. P> merci p> p> p>
5 Réponses :
Cette classe est probablement une classe hypothétique utilisée pour ce Liste liée Exemple de question. p>
Ouais c'est ce que j'ai pensé. Il y a donc un exemple simple pour mettre en œuvre cet algorithme en Java
Votre question est un peu déroutante. Si vous voulez une logique pour supprimer un nœud dans une liste lié individuellement ou que vous souhaitez apprendre et utiliser Java LinkedListnode.
Si vous êtes en seconde, le lien suivant vous aidera P>
ou Si vous voulez la logique p>
Les détails importants de cette question concernent les structures de données, Java n'est que la langue utilisée pour mettre en œuvre dans ce cas.
Vous devriez lire l'article Wikipedia sur listes liées , et pour cette question veille à ce que votre solution ne soit pas t produire des
Faites des recherches sur les deux termes en gras et assurez-vous de les comprendre p>
Le code ne fonctionnera correctement que s'il existe un nœud queue sur la liste.
L'algorithme fonctionne avec la logique suivante p> Voici une classe qui utilise LinkedListNode. Je dois noter que si vous postulez pour une position de programmeur, vous devriez pouvoir le faire fondamentalement de la mémoire. : -) p>
Merci un tas d'expliquer clairement comment cela fonctionne. Je voulais donc savoir comment je voudrais mettre en œuvre cela en Java.
@RIAMO Que voulez-vous dire? Vous avez déjà répertorié le code qui implémente ceci.
@glowcoder - merci - ce code ne fonctionne pas - comme LinkedListnode n'est pas une classe en Java SDK
ouais, et vous ajoutez votre propre classe comme celle-ci
@Riamo vient de poster un exemple qui devrait vous aider à sortir.
@GlowCoder - Merci beaucoup d'homme - c'est ce que je cherchais. Merci pour votre temps. Oui, je suis un bon 6 mois de postuler en tant que programmeur - vous pouvez donc commencer à préparer la tête pour les entretiens. Pouces vers le haut !!!!
@riamo je vais être honnête avec vous. Je ne dis pas que ça veut dire que je veux juste que tu fasses bien. Pour un diplôme en informatique de 4 ans, les personnes sont censées pouvoir le faire à environ 2 ans. Vous pourriez donc avoir un peu de rattrapage à faire. Et c'est bien i> vraiment c'est. Juste avoir à avancer avec la bonne attitude. Apprenez tout ce que vous pouvez et concentrez-vous sur la résolution de problèmes d'avance sur le code d'écriture. (Une fois que le problème est résolu, le code suit.) Si vous voulez un bon exemple de problème à résoudre, prenez la liaison LinkedList et LinkedListNode I Je viens d'écrire et de la rendre doublement liée. :-)
Je suis un débutant en Java, seriez-vous si gentil comme d'expliquer ce que
arraylist
ArrayList
Merci, Corsika. Pourriez-vous expliquer davantage le code dans la réponse de Gubloo ci-dessous, quel "objet" qui semble déclarer des biens, censement pas "type", de "données"? "Object" servit-t-il de type "carte wild" de sorte qu'il n'est pas nécessaire de déclarer le type à l'avance?
La réponse de Gubloo utilise objet code> au lieu d'un type générique. Considérons
ArrayList
string code> objets. Son conteneur acceptera tout objet
code>. (Il convient de noter que les génériques ne comptent que pendant la compilation - ma classe se transformera en objets code> au lieu de
E code> dans le bytecode, mais les génériques ne compileront pas si vous essayez d'ajouter Un objet non valide, vous détectez donc votre bogue beaucoup plus rapidement.) On dirait que vous avez besoin d'un bon tutoriel sur les génériques !! :-)
Le tête code> et
queue code> Les objets sont des nœuds Sentinel. Si je travaillais cette classe pour une utilisation de la production (car pour une raison quelconque, je ne pouvais pas utiliser l'API intégrée? Je ne sais pas ces champs serait définitif.
Que signifie <> quand vous avez défini la classe LinkedNode?
@ Amad27 Je ne suis pas sûr de ce que tu veux dire. Je ne vois pas de vide <> code> n'importe où dans la réponse. Pourriez-vous être plus précis sur la ligne de code en question?
Excuses @corsika. Je voulais dire, qu'est-ce que
linkedlistnode
La classe la plus haute est définie comme Class LinkedList
linkedlist
E code> deviennent < Code> String Code>. (Ce n'est pas 100% correct, mais il est suffisamment facile de saisir.) Maintenant, car
linkedlistnode
linkedlist
linkedlistnode
La mise en œuvre de la suppression et de la suppression de la suppression est complètement fausse.
@AdamJK Eh bien, Deletelast code> n'est pas implémenté car c'est une liste unique ... Donc, je ne voyais donc pas comment, pas en cours de mise en œuvre, cela pourrait être faux du tout. Et peut-être que c'est le vin que j'ai déjà eu, mais je ne vois pas le problème avec
deletenode code> - mais peut-être que vous devriez être utile et dire ce qui ne va pas à ce sujet au lieu de la critique "Drive par critique "Vous avez affiché.
LinkedListnode est une classe que vous définirez pour contenir des données. Pour obtenir votre exemple ci-dessus pour travailler - j'ai rapidement écrit ce code (juste pour vous faire comprendre le concept simple) dans lequel je crée 3 nœuds (qui sont liés les uns aux autres), puis supprimant le milieu d'appel à l'appelant > Deletenode em> méthode que vous avez spécifiée dans votre question.
Le code est assez explicite. Faites-moi savoir si cela aide.
Bonne chance p>