La suppression de Nœud dans la Liste, C++
J'ai donc été à la recherche de forums, mais je suis encore très nouveau pour la langue et les listes chaînées, donc je peux à peine déchiffrer les résultats.
fondamentalement, j'ai fait une fonction de suppression pour ma liste liée.
Je peux actuellement de Créer une liste, la traversée de la liste, trier la liste, recherchez dans la liste, et avant d'insérer n'importe quel nœud dans la liste chaînée. J'ai recyclé un peu de code à partir de l'insert pour localiser le point dans la liste où je pourrais supprimer. Mon principal point de confusion est de savoir comment relier les points précédents pour le nœud qui est, après celui que je suis de les supprimer.
- Si vous éprouvez des difficultés à l'écriture de code pour faire ce que vous voulez, essayez de dessiner le problème. Je trouve que cela m'aide beaucoup. Aussi, essayez de le tiret choses, il rend le code plus facile à lire.
- La recherche de ce site pour "Supprimer un Nœud dans la Liste Liée" donne des tonnes de résultats, sûrement l'un d'entre eux doit être utilisable pour vous?
- Un conseil: Regardez votre boucle while... il vérifie pour s'assurer que
akey != entry->adata
. Puis à l'intérieur de cette boucle, vous vérifiez pour voir sientry->adata==akey
. Demandez-vous si c'if
sera jamais exécuter. - votre droit nick! je vous remercie pour cela.
Vous devez vous connecter pour publier un commentaire.
Je ne vais pas écrire une toute nouvelle liste liée de mise en œuvre, mais je peux souligner certains des problèmes avec le code pour vous.
J'ai renommé
entry
àcurrent
pour plus de clartéCe n'est pas la façon la plus propre. Cependant, il est similaire à votre application de sorte que vous pouvez voir où vous êtes allé mal.
J'ai fait ce code basé sur le code que vous avez fournis. Ce n'est pas tout à fait la même, j'ai changé certaines choses, mais il fait ce que vous voulez. Je devais deviner ce que la structure de type a, et j'ai ajouté un constructeur pour ma convenance. J'ai ajouté quelques commentaires soulignant les aspects de mon style.
Avis qu'il est plus facile à lire que le code que vous avez fourni à l'origine. Le Style est important. Les gens vont vous dire que vous devez utiliser X ou Y de style, mais ce qui compte vraiment, c'est que vous chercher quelque soit le style que vous aimez et de s'y tenir constamment; il sera plus facile pour vous de lire et de comprendre votre propre code rapidement.
Croyez-moi, vous, quand vous avez écrit beaucoup de code, vous cessez d'être en mesure de se rappeler tout cela à la fois, et d'être en mesure de comprendre ce que vous faisiez rapidement est essentiel.
Considérer la structure indiquée ci-dessous,
si vous utilisez la structure ci-dessus pour stocker les enregistrements dans une liste liée, alors le code suivant peut être utilisé pour supprimer des éléments de votre liste liée,
Je pense que c'est trop simple et trop facile pour supprimer un nœud ou d'insérer ine dans la liste liée, mais elle exige une compréhension de son MÉCANISME. cet exemple montre comment ajouter et supprimer des nœuds cependant ce n'est pas un programme, mais elle révèle le mécanisme de l'ajout et de la suppression et le déplacement alinked-liste: