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
| CELLULE *ptr = tete; // decrit la liste chainée
CELLULE *tmp ;
CELLULE *pluspetit;
NOEUD *noeudtmp;
while (ptr!= NULL)
{
pluspetit = ptr;
tmp = ptr->suivant;
// on va chercher le plus petit élement de la liste
while (tmp != NULL)
{
if (tmp->noeud->valeur < pluspetit->noeud->valeur)
pluspetit = tmp;
tmp = tmp->suivant;
}
if (pluspetit->noeud->valeur < ptr->noeud->valeur)
{
// on memorise les valeurs du noeud
noeudtmp= ptr->noeud;
// on modifie les liens
ptr->noeud = pluspetit->noeud;
pluspetit->noeud = noeudtmp;
}
// on a mis la plus petite valeur dans ptr, on passe au suivant
ptr = ptr->suivant;
} |