A voir également:
- Structures abstraite
- No Man's Sky - Les structures ne chargent pas et crash au lancement du jeu - Forum Jeux vidéo
4 réponses
Bonjour
Il n'y a pas vraiment une idée ou différentes manières car le principe reste le même c'est dire revoir tous les pointeurs des cellules précédentes et suivantes pour les relier donc si tu veux supprimer une cellule dans ta liste chaînée tu dois prendre en compte les pointeurs précédents et le pointeur suivant de la cellule que tu veux supprimer à partir de là, libre à toi de trouver la façon la plus logique ou rapide de supprimer ta cellule exemple
à bientôt
Il n'y a pas vraiment une idée ou différentes manières car le principe reste le même c'est dire revoir tous les pointeurs des cellules précédentes et suivantes pour les relier donc si tu veux supprimer une cellule dans ta liste chaînée tu dois prendre en compte les pointeurs précédents et le pointeur suivant de la cellule que tu veux supprimer à partir de là, libre à toi de trouver la façon la plus logique ou rapide de supprimer ta cellule exemple
#include <stdio.h>
#include <stdlib.h>
//Structure liste
typedef struct s_List{
char *pChar;
struct s_List *pNext;
struct s_List *pPrev;
}ts_List;
int main ( void ){
//Liste déja suposer alouer et est une liste
ts_List *ptr_List; //Liste chaînée
ts_List *ptr_Suprim; //Celule a suprimer
//Exemple Cas de supression d'une cellule
if( ptr_Suprim->pPrev ){
ptr_Suprim->pPrev->pNext = ptr_Suprim->pNext;
}
else
//Ptr_Suprim etait la première cellule
ptr_List = ptr_Suprim->next;
if( ptr_Suprim->pNext ){
ptr_Suprim->pNext->pPrev = ptr_Suprim->pPrev;
}
//Supression
free( ptr_Suprim->pChar );
free( ptr_Suprim );
return ( EXIT_SUCCESS );
}
à bientôt
jhonbouda - 21 oct. 2014 à 21:45
une liste simplement chainee
Pour une liste simplement chaînée, tu dois :
- trouver l'élément de la liste que tu veux supprimer (E) et noter vers quel élément suivant il pointe (E+1)
- trouver l'élément précédant celui que tu veux supprimer (E-1), et faire pointer l'indication de l'élément suivant sur E+1
ensuite, tu supprimes E de la mémoire, si tu n'en as plus l'usage.
Dal
une liste simplement chainee
Pour une liste simplement chaînée, tu dois :
- trouver l'élément de la liste que tu veux supprimer (E) et noter vers quel élément suivant il pointe (E+1)
- trouver l'élément précédant celui que tu veux supprimer (E-1), et faire pointer l'indication de l'élément suivant sur E+1
ensuite, tu supprimes E de la mémoire, si tu n'en as plus l'usage.
Dal