Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Trier un liste chainéé [ Archives / Au secours ] (malice120)

mercredi 14 janvier 2004 à 02:00:12 | Trier un liste chainéé

malice120

Bonjour je n'arrive pas à trier ma liste chainée en langage C?aidez moi svp...

mercredi 14 janvier 2004 à 07:11:05 | Re : Trier un liste chainéé

MoDDiB

Bop d'ici la semaine prochaine des que j'ai le temps je fais un tu sur les listes chainés.. donc si personne a repondu d'ici la t'aura tj la réponse ^^

mercredi 14 janvier 2004 à 11:34:42 | Re : Trier un liste chainéé

fute

Plutot que de construire une liste chainée en ajoutant les éléments toujours à la fin, tu peux aussi insérer dans ta fonction d'ajout un bout de code qui recherche la valeur qui suit celle que tu veux ajouter et l'ajouter juste avant
J'espère mettre fait comprendre. Sinon envoi ton code. Ce sera plus simple pour t'expliquer !

fute

mercredi 14 janvier 2004 à 13:37:25 | Re : Trier un liste chainéé

vecchio56

Administrateur CodeS-SourceS
ou bien utilise le modèle list de la stl qui fournit une fontion sort()


jeudi 15 janvier 2004 à 00:32:37 | Re : Trier un liste chainéé

sebseb42

oui vecchio, ou bien il peut aussi le faire en php :P

vendredi 16 janvier 2004 à 04:30:26 | Re : Trier un liste chainéé

malice120

Bonjour à tous merci de votre aide en fait je veux trier une liste chainé non pas à l'ajout mais apres...

a++

malice

Avez vous un exmple de code en C ?

jeudi 26 février 2004 à 15:28:37 | Re : Trier un liste chainéé

vinchi

Bonjour a tous, j aimerais avoir un peu d aide
voila g un petit programme et je dois le trier, mais je c pas comment faire

#include <stdlib.h>
#include <stdio.h>
struct commande {
char nom[80];
char article[80];
int nombre,prix;
struct commande *suiv;
};

void print_com(struct commande com)
{
printf ("%s%s%d%d",com.nom,com.article,com.nombre,com.prix);
}

struct commande *max_com( struct commande * l_com)
{
struct commande *pmax;
struct commande *pcour;
int vmax,vcour;
if ( l_com == NULL)
return (NULL);
else
{
pmax = l_com;
vmax = (pmax -> nombre) * (pmax -> prix);
for (pcour = l_com -> suiv; pcour != NULL;pcour = pcour -> suiv)
{
vcour = (pcour -> nombre * pcour ->prix);
if (vcour>vmax)
{
vmax = vcour;
pmax = pcour;
}
}
return (pmax);
}
}
/*main*/
int main()
{
FILE * fi;
struct commande *l_com = NULL;
struct commande *prec, *cour;
int val_ret;
if ((fi = fopen("commande.data","r"))==NULL)
printf ("impossible d ouvrir le fichier commande.data\n");
else
{
do
{
cour = malloc(sizeof(struct commande));
val_ret = fscanf(fi,"%s%s%d%d",cour -> nom,cour -> article, &(cour -> nombre), &(cour -> prix));
if(val_ret == EOF)
{
free(cour);
if(l_com != NULL) prec -> suiv = NULL;
}
else
{
if (l_com == NULL) l_com = cour;
else prec -> suiv = cour;
prec = cour;
}
}
while(val_ret != EOF);
if (l_com == NULL)
printf ("la liste de commande est vide\n");
else
{
for (cour = l_com; cour !=NULL; cour = cour -> suiv)
print_com(*cour);
printf ("la commande maximun est : \n");
print_com ( *max_com(l_com));
}
fclose(fi);
}
}




Cette discussion est classé dans : liste, trier, chainéé


Répondre à ce message

Sujets en rapport avec ce message

trier une liste (sort) [ par desquesa ] Bonjour, je cherche a trier une liste d'entiers, mais le pobleme est que par exemple isort trie de cette facon: 87,88,89,9,90,91,92....Je ne sais pas Trier une liste chainée ? [ par tintin72 ] Bonjour,Je voudrais connaitre le principe du trie dans une liste chainée.Je voudrais par ex trier une liste chainée qui existe déjà et qui contient de Trier une liste simplement chainée [ par MasterShadows ] Bonjour à tous,Dans un TP de C que je dois, il y'a une question qui me perturbe :Nous devions créer une structure LIST qui est simplement chainée, qui Tri par insertion sur liste simplement chainée [ par Jordy89 ] Bonjour,Dans le cadre de la manipulation d'une liste chaînée, je suis amené à effectuer un tri; Je me suis renseigné à gauche et à droite, et il appar Compilation :pour professionels [ par snoopi_19ans ] J'ai vraiment trouvé l'environnement d'etude que je cherche depuis longtempsDEmande pourle sprofessionnels::<?xml:namespace prefix = o ns = liste chainee [ par chickens ] Bonjour,je voudrais savoir comment on peut initialiser les noeuds d'une liste chaine de type generique? ajouter en tête d'un anneau [ par falisse ] J'ai un problème avec mon ajouter en tête pour un anneau, voici le code :void ajouter (int valeur, T_liste *anneau){   T_liste tempo;   if((*anneau)!= CListCtrl [ par isir ] Comment ajouter une ligne  dans une liste CListeCtrl  a la fin de la liste (la nouvelle ligne ne s'affiche pas au debut de la liste)merci rafraichissement (repaint) de listbox transparente [WIN32-nonMFC] [ par Daniel13 ] Bonjour, J'ai une listbox sur une application skinée avec un bmp.Cette dernière est transparente mais lorsque je clique sur un élément de la liste, la liste contigue circulaire [ par bidouza ] salut, excusez moi mais j'aimerais savoir si quelqu'un a une astuce a propos des "listes CONTIGUES circulaires" parce que je patauge un peu. Merci d'a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.