Comment trier une liste simplement chaine [Fermé]

Messages postés
432
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
14 janvier 2014
- - Dernière réponse :  es-said - 4 janv. 2013 à 13:34
Bonjour,


je n'arrive pas a faire le trie d'une liste simplement chaine (peu n'importe croissant ou decroissant)

merci d'avance
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
432
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
14 janvier 2014
6
2
Merci
qu'esque vous pensez de ce code

c 'est un code complet contient ( 4 fonction avec main)

mais le probleme suppose toujour a la fonction trie

je parle toujour des liste simplement chaine







#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
typedef struct noeud
{
int info;
struct noeud *suivant;
}noeud;

typedef struct
{noeud *tete;
}list;

void init(list *l)
{
l->tete=NULL;
}




void insertion_fin(list *l,int y)
{
noeud *e;
e=(noeud*)malloc(sizeof(noeud));
noeud *parcour =l->tete;
e->info=y;
e->suivant=NULL;
if(l->tete==NULL)
{
l->tete=e;
}
else
{
while(parcour->suivant!=NULL)
{
parcour=parcour->suivant;
}
parcour->suivant=e;
}
}





void trier(list *l) // le probleme est la
{
noeud *precedent=l->tete;
noeud *parcour=precedent->suivant;
int temp,min;
while(precedent!=NULL)
{
min=precedent->info;
while(parcour!=NULL)
{
if(parcour->info<min)
min=parcour->info;
parcour=parcour->suivant;
}
if(precedent->info!=min)
{
temp= precedent->info;
precedent->info=min;
min=temp;
}
precedent=precedent->suivant;
}
}

void afficher(list l)
{
noeud *parcour =l.tete;
while(parcour!=NULL)
{
printf("%7d",parcour->info);
parcour=parcour->suivant;
}

}




void main()
{
list l;
int n,vi;
init(&l);
printf("donnez le nombre des noeuds a inserer :");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("donnez une valeur : ");

scanf("%d",&v);
insertion_fin(&l,v);
}
trier(&l);
afficher(l);

getch();
}

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 69558 internautes nous ont dit merci ce mois-ci

Messages postés
161
Date d'inscription
mercredi 6 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2010
58
0
Merci
Et chercher un peu tout seul peut être ?

http://lwh.free.fr/pages/algo/tri/tri.htm

Si c'est pour un devoir, la solution ne sers à rien c'est chercher qui importe.
Messages postés
42
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
1 mai 2011
0
Merci
en attensant eventuellement quelqu'un pour plus de détaille, vous puvvez voir http://datastructures.itgo.com/lists/dynamic/sort.htm

sinon, vous coder en quelle langage (ou c'est de l'algorithmique)
Messages postés
42
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
1 mai 2011
0
Merci
excuse pour les erreurs :p, je viens de me réveiller là :p
0
Merci
c programme ca marche pas