bonjour,j'essaie de faire le tri d'une liste chainé dans l'ordre décroissante voici mon essai



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 #include<stdio.h>
#include<stdlib.h>
 
typedef struct cellule
{
	int val;
	struct cellule* next;
}cellule; 
 
void main()
 
 
{
	cellule* maliste;
 
    cellule*  nouvelem;
int k; 
 
 
 
 
nouvelem=(cellule*)malloc(sizeof(cellule));
 
	maliste=(cellule*)malloc(sizeof(cellule));
 
printf("saisir la premiere valeur de la liste");
scanf("%d",&maliste->val);
maliste->next=NULL;
printf("si tuvas ajouter des nouveaux cellule saisir 1 sinon saisir 0");
scanf("%d",&k);
	 while(k==1)
	 {
	 cellule* nouvelem=(cellule*)malloc(sizeof(cellule));
	 printf("saisir la valeur de nouvelle cellule\n");
	 scanf("%d",&nouvelem->val);
	 nouvelem->next=maliste;
	 maliste=nouvelem;
printf("si tuvas ajouter des nouveaux cellule saisir 1 sinon saisir 0\n");
scanf("%d",&k);
}
 
cellule* aux1=maliste ;
  cellule* aux=maliste;
  cellule*p=maliste;
  int max;
while(p!=NULL)
{ 
	max=p->val;
	aux=p;
 
	while(aux!=NULL)
	{ 
		if(max<(aux->val))
		{	printf("A\n");
			max=aux->val;
			aux1=aux;
		}
		aux=aux->next;
	}
	aux1->val=p->val;
	p->val=max;
	p=p->next;
 
}
while(maliste!=NULL)
	  {
		  printf("valeur=%d\n",maliste->val);
		  maliste=maliste->next;
	  }
}
c'est executable mais tjrs d'un maniere fausse .
merci d'avance et désolé pace que j'ai pas arrivé à savoir comment mettre le code d'une maniere conforme.