Liste chainée d'objet en C et le tri

cs_fab30 Messages postés 48 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 9 août 2009 - 14 janv. 2004 à 22:21
cs_fab30 Messages postés 48 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 9 août 2009 - 14 janv. 2004 à 23:21
Apres beaucoup d'heures passé à essayer de trier une liste simplement chainé sur un élément de la structure qui compose la liste, et après avoir essuyer beaucoup d'echec, deux solutions me sont offertes : acheter une corde et aller me pendre, ou simplement demander à des kadors du c comment on fait !!!
pour vous aider, voici des parties de mon codes :

Mes structures :

typedef struct voiture{
        char numero[9];
        int annee;
        char marque[10];
        char modele[10];
        int prix;
        struct voiture * suivant; //pointeur sur l'element suivant
}t_voiture;

typedef struct{
        t_voiture* premiere;
        int nb;
}Ensemble;


Ma fonction échanger :

void echanger(Ensemble *parc, int i){
     int j;
     t_voiture* prec = (t_voiture *) malloc ( sizeof (t_voiture));
     t_voiture* suiv = (t_voiture *) malloc ( sizeof (t_voiture));
     t_voiture* temp = (t_voiture *) malloc ( sizeof (t_voiture));
     temp=(*parc).premiere;
     for (j=1; j(*(*temp).suivant).annee){
                    echanger(parc,k);
                    inversion=1;
                 }
                 break;
            case 2 :
                 if (strcomp((*temp).marque, (*(*temp).suivant).marque)>0){
                    echanger(parc,k);
                    inversion=1;
                 }
                 break;
            case 3 :
                 if ((*temp).prix>(*(*temp).suivant).prix){
                    echanger(parc,k);
                    inversion=1;
                 }
                 break;
            }
        temp=(*temp).suivant;
        }
        n--;
     }
     while (inversion);
}


et la comment je l'appelle :

tri(&parc,1);


Voila, si quelqu'un peut m'aider... Merci
----fab30----

5 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 janv. 2004 à 22:25
moi je vote pour la corde
0
cs_fab30 Messages postés 48 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 9 août 2009
14 janv. 2004 à 22:39
Mouais, je crois aussi que c'est la solution la plus raisonnable...
----fab30----
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 janv. 2004 à 22:40
petite remarque: (*temp).suivant <=> temp->suivant
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
14 janv. 2004 à 22:49
moi je dit : c'est la merde, re-regarde tes cours, et travail avec plus de rigueur, ou sinon va a Epitech (si tu y es pas deja), il y a des cours de soutient pour les 1eres années le jeudi matin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fab30 Messages postés 48 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 9 août 2009
14 janv. 2004 à 23:21
Connait pas l'Epitech, moi je suis a l'EPSI et le cours la dessus a été plutôt sommaire ...
----fab30----
0
Rejoignez-nous