Liste circulaire simplement chaînée : suppression
Bonsoir,
Je vous explique mon problème, j'aurais besoin d'aide sur une fonction qui me permette de supprimer un élément dans une liste circulaire simplement chaînée.
Cette fonction permet de supprimer un élément appelé tete, en lui envoyant l'élément qui la précède, mais elle ne fonctionne pas, cela ne me supprime rien du tout, donc j'aimerai savoir si je peux tirer quelque chose de la fonction suivante.
Et quand je tente d'autre chose je me retrouve paumé avec des problèmes d'adresses, je ne comprends pas vraiment pourquoi cela ne fonctionne pas ><
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
function delete(var tete:pliste;prec : pliste): pliste;
var tmp:pliste;
begin
new(tmp);
prec^.suiv := tete^.suiv;
tmp := tete^.suiv;
// tete^.suiv := NIL problème d'adresse si je met cette ligne
delete := tete;
exit;
end; |
Je vous remercie d'avance pour votre aide.