Bonjour, je dois trouver le maximum dans ma liste chainée.
Après il faut que je trie ma liste chainée dans l'ordre decroissant(mais j'y suis pas encore)
Voilà ce que j'ai fait:
Code:#include <stdio.h> #include <stdlib.h> typedef struct liste { int nb; struct liste *suivant; }LISTE; int main(){ LISTE *l1 = (char*)malloc(sizeof(LISTE)); LISTE *l2 = (char*)malloc(sizeof(LISTE)); LISTE *l3 = (char*)malloc(sizeof(LISTE)); LISTE *l4 = (char*)malloc(sizeof(LISTE)); LISTE *temp = l1; l1->nb = 4; l2->nb = 7; l3->nb = 1; l4->nb = 14; l1->suivant = l2; l2->suivant = l3; l3->suivant = l4; l4->suivant = NULL; int max = l1->nb; while (temp->suivant ) { if(temp->suivant > max) max = temp->suivant; temp = temp->suivant; } printf("%d", max); return 0; }
Ca ne marche pas.
Je suppose que le 1er element est le maximum puis je le compare aux autres.
Merci.
-----