Supprimer un case du tableau en langage C
Fermé
olfachokri
Messages postés
1
Date d'inscription
vendredi 27 mai 2016
Statut
Membre
Dernière intervention
27 mai 2016
-
27 mai 2016 à 12:59
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 27 mai 2016 à 21:14
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 27 mai 2016 à 21:14
A voir également:
- Supprimer une case d'un tableau en c
- Tableau croisé dynamique - Guide
- Supprimer une page word - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Supprimer compte instagram - Guide
2 réponses
pkpkmépkpk
Messages postés
341
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
14 janvier 2018
52
27 mai 2016 à 13:48
27 mai 2016 à 13:48
Bonjour,
Il faut procéder comme tu as dit.
Par contre, il faut juste prendre conscience qu'on ne "supprime" pas une case d'un tableau : la case est toujours là, c'est juste que son contenu n'a plus de sens.
Du coup, pour "supprimer" la case i tu dois simplement recopier la case i+1 dans la case i, la case i+2 dans la case i+1, etc. jusqu'à la fin du tableau, dont tu considéreras la taille diminuée de 1 à l'issue de ton opération de suppression.
A noter que cette suppression prend du temps, puisqu'il faut recopier tout ce qui est après la case supprimée.
Une autre possibilité est d'ajouter un booléen par case, qui précise si le contenu est valide ou non.
Il faut procéder comme tu as dit.
Par contre, il faut juste prendre conscience qu'on ne "supprime" pas une case d'un tableau : la case est toujours là, c'est juste que son contenu n'a plus de sens.
Du coup, pour "supprimer" la case i tu dois simplement recopier la case i+1 dans la case i, la case i+2 dans la case i+1, etc. jusqu'à la fin du tableau, dont tu considéreras la taille diminuée de 1 à l'issue de ton opération de suppression.
A noter que cette suppression prend du temps, puisqu'il faut recopier tout ce qui est après la case supprimée.
Une autre possibilité est d'ajouter un booléen par case, qui précise si le contenu est valide ou non.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
27 mai 2016 à 21:14
27 mai 2016 à 21:14
Bonjour,
Impossible de supprimer la case d'un tableau.
Une autre possibilité serait d'utiliser un pointeur sur une zone allouée (appelé injustement tableau dynamique). Dans, ce cas, tu pourras faire un realloc() pour rétrécir la taille.
Au vu du besoin, je pense que ce n'est pas le plus adapté. Pourquoi ne pas utiliser une liste doublement chainée ? La suppression se fera en un claquement de doigt.
Impossible de supprimer la case d'un tableau.
Une autre possibilité serait d'utiliser un pointeur sur une zone allouée (appelé injustement tableau dynamique). Dans, ce cas, tu pourras faire un realloc() pour rétrécir la taille.
Au vu du besoin, je pense que ce n'est pas le plus adapté. Pourquoi ne pas utiliser une liste doublement chainée ? La suppression se fera en un claquement de doigt.