Supprimer element liste chaine C
Fermé
nounou_89
Messages postés
44
Date d'inscription
jeudi 4 mars 2010
Statut
Membre
Dernière intervention
20 mars 2014
-
28 avril 2011 à 16:20
nounou_89 Messages postés 44 Date d'inscription jeudi 4 mars 2010 Statut Membre Dernière intervention 20 mars 2014 - 30 avril 2011 à 15:59
nounou_89 Messages postés 44 Date d'inscription jeudi 4 mars 2010 Statut Membre Dernière intervention 20 mars 2014 - 30 avril 2011 à 15:59
A voir également:
- Supprimer element liste chaine C
- Liste déroulante excel - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Chaine tnt gratuite sur mobile - Guide
- Liste déroulante en cascade - Guide
5 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
28 avril 2011 à 16:27
28 avril 2011 à 16:27
je ne comprends pas ta question. Essai d'être plus clair sur ce que tu veux faire.
Le code écrit me semble bon...
Le code écrit me semble bon...
nounou_89
Messages postés
44
Date d'inscription
jeudi 4 mars 2010
Statut
Membre
Dernière intervention
20 mars 2014
12
28 avril 2011 à 16:29
28 avril 2011 à 16:29
en fait je voudrai ecrire une fonction qui me supprime un element passé en parametre de la liste chainé sans utilisé in pos
nounou_89
Messages postés
44
Date d'inscription
jeudi 4 mars 2010
Statut
Membre
Dernière intervention
20 mars 2014
12
28 avril 2011 à 16:40
28 avril 2011 à 16:40
je l'ai modifier mais je ne sai pas s'il fonctionne
/* Supprimer une station */
int supprime_station(station_t* s){
liste_pStations_t* stations;
liste_pStations_t* precedent = NULL;
if(rechercher_station(s->nom) != NULL){
for(stations = toutes_les_stations ; stations != NULL ; stations=stations->next){
if (strcmp(stations->s->nom,nom) == 0){
if(precedent == NULL)
toutes_les_stations = stations->next;
else
precedent->suivant = stations->next;
free(stations);
break;
}
precedent = encourt;
}
}
/* Supprimer une station */
int supprime_station(station_t* s){
liste_pStations_t* stations;
liste_pStations_t* precedent = NULL;
if(rechercher_station(s->nom) != NULL){
for(stations = toutes_les_stations ; stations != NULL ; stations=stations->next){
if (strcmp(stations->s->nom,nom) == 0){
if(precedent == NULL)
toutes_les_stations = stations->next;
else
precedent->suivant = stations->next;
free(stations);
break;
}
precedent = encourt;
}
}
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
29 avril 2011 à 08:18
29 avril 2011 à 08:18
Je pense que ça doit fonctioné. à ta place je serais repartie du code précédent.
nt supp_dans_liste (Liste * liste, const char* nom){ if (liste->taille <= 1 || pos < 1 || pos >= liste->taille) return -1; int i; Element *courant; Element *supp_element; for (courant = liste->debut;courant->suivant!=0; courant = courant->suivant) if(strcmp(courant->suivant->nom,nom)==0) break; if(strcmp(courant->suivant->nom,nom)!=0) return -1; supp_element = courant->suivant; courant->suivant = courant->suivant->suivant; if(courant->suivant == NULL) liste->fin = courant; free (supp_element->donnee); free (supp_element); liste->taille--; return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nounou_89
Messages postés
44
Date d'inscription
jeudi 4 mars 2010
Statut
Membre
Dernière intervention
20 mars 2014
12
30 avril 2011 à 15:59
30 avril 2011 à 15:59
merci pour ton aide