Comment puis-je supprimer un nœud de liste chaînée?
Comment puis-je supprimer un nœud (entre deux nœuds) à partir d'une seule liste, sans passer des paramètres à la fonction de classe?
Par exemple, j'ai une liste de 6 nœuds avec un nœud de tête et je veux supprimer deux d'entre eux (sans connaissance préalable de leur adresse ou de position) à partir d'une fonction de classe, comment dois-je procéder?
void WordList::deleteNode(){
Node *temp;
temp=head;
if(temp->count<=10)
{
//delete this node... not sure how though
}
else
temp=temp->next;
}
où la Liste de mots est ma classe, Nœud est mon struct qui détient un mot, un nombre, et un pointeur.
Je veux supprimer un nœud qui a un compteur de 10 ou moins.
- Qui 2 Nœuds?.
- désolé, dès que j'ai posté, je suis allé à le modifier parce que j'ai réalisé à quel vague/confus, ma question était. J'espère que c'est plus clair maintenant
- Est-ce devoirs? Pensez à (ou projet sur papier brouillon) comment la structure de données des regards avant de supprimer le nœud et comment le nœud pointeurs besoin de changer pour "délier" un nœud de la chaîne. Également envisager d'où
temp
est de montrer à la fois que vous délier le nœud cible et où il devrait point après la séparation, et sitemp
doit encore être avancée (temp=temp->next
).
Vous devez vous connecter pour publier un commentaire.
Votre modifier a d'information préalable, le peu que les états "compteur <= 10" 🙂
Pseudo-code pour la suppression d'éléments qui correspondent à ces critères dans une liste liée individuellement:
Je trouve la question trop confus.
La suppression d'un nœud de la liste est toujours basé sur certains critères, par exemple le contenu de l'élément, la position de l'élément etc (sauf si vous êtes en train de supprimer tous les éléments dans la liste)
quelque chose comme ceci:
while(temp)
.Possédez une variable initialisée à null. Si vous supprimer un nœud, le changement précédent du côté de l'élément suivant, à moins que les précédentes est nulle (on est au début de la liste) lorsque vous quittez précédente null et le changement de la racine de l'supprimé l'élément suivant. Si vous ne supprimez pas l'élément, changer précédent de l'élément.
Ici précédente sera toujours pointer vers l'élément précédent ou null si vous êtes au début de la liste.