Bonjour,
j'ai fait un programme de liste chaînée et je voudrais supprimer un élément en fonction d'un nom que j'entre mais quoi que je rentre ça ne supprime pas l'élément mais ça supprime toujours le dernier élément de ma liste. Alors voici mon code.
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 void supprimer(Maliste* Liste) { Contact* tmp; tmp= Liste->Premier; string qui; cout << "Qui voulez-vous supprimer ? "; cin >> qui; while (tmp != 0) { if (tmp->Suivant == 0) { Liste->Dernier = tmp->Precedant; //on fait pointer le dernier de la liste vers le precedent du contact a supp Liste->Dernier->Suivant = 0; //suivant du dernier contact=0 } else { tmp->Precedant->Suivant - tmp->Suivant; //tmp->precedant->suivant c'est le tmp qu'on a rentré tmp->Suivant->Precedant = tmp->Precedant; } if (qui == tmp->Nom) { tmp->Suivant = tmp->Suivant->Suivant; } tmp = tmp->Suivant; } }
Partager