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
|
//********************* trier *****************************************
Pile* trie_pile(Pile *tas)
{
Pile *p1,*p2;
int x,v;
p1=(Pile *) malloc (la_taille(tas)*sizeof (Pile));
//p2=(Pile *) malloc (sizeof (Pile));
//Element *p1_e,*p2_e;
x=depiler(tas);
p1=empiler(p1,x);
while(tas != NULL){
if(tas->debut->donnee <= p1->debut->donnee)
{
printf("la donnee ==> %d \n",tas->debut->donnee);
printf("la donnee de tri ==> %d \n",p1->debut->donnee);
x=depiler(tas);
p1=empiler(p1,x);
}
else
{
if(p1!=NULL && tas->debut->donnee > p1->debut->donnee)
{
v=depiler(p1);
p2=empiler(p2,v);
x=depiler(tas);
p1=empiler(p1,x);
}
}
}
return p1;
} |