Suppression d'une case du tableau en c

Fermé
sofia - 21 oct. 2010 à 14:03
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 21 oct. 2010 à 16:17
Bonjour,

Dans mon prog,j'ai besoin de supprimer un élément du tableau en langage C ; En fait,j'ai un tableau de structure (des noeuds) et je veux supprimer le noeud dont son indice =i tout en décalant les autres noeuds du tableau bien sure après avoir supprimer et renvoyant la nouvelle taille du tableau

on alloue dynamiquement de la mémoire pr ce tableau de structure donc il me faut que je libère la mémoire du case supprimée ou bien réalloué de nouveau de la mémoire pr mon tableau de structure !!

Please aidez moi à trouver une solution, comment il faut procéder !!??



A voir également:

1 réponse

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
21 oct. 2010 à 16:17
si tu as fait un tableau, les cases mémoires sont "à la suite les unes des autres".

Tu as plusieurs manières de faire

:

copier les différentes structures qui suivent celle que tu as supprimées dans les cases du tableau précédentes (c-à-d les décaler) et ensuite libérer la *dernière* case du tableau.

Ou alors (pas très efficace) :
Recréer un nouveau tableau de taille un de moins que le tableau précédent, et tout recopier (sauf la case que tu veux supprimer), et enfin libérer l'espace pour tout le premier tableau.


Après, il faut voir si tu as fait un tableau de pointeurs vers ta structure ou un tableau avec directement tes structures dedans.
0