Tri à bulle avec amelioration

Zitoune

Re: Tri à bulle avec amelioration

Message par Zitoune » 11 déc. 2009 01:31

J'arrive après la bataille, mais en tout cas en C, le plus naturel, je pense, est encore d'indiquer au préprocesseur l'existence d'une valeur VRAI et FAUX. Ensuite, dans le programme, on peut tester l'égalité à VRAI ou FAUX.
Que fait le compilateur ? Il va attribuer arbitrairement une valeur 0 à FAUX, 1 à VRAI (ou 2 et 78 s'il a ses humeurs), et remplacer dans ton code chaque VRAI ou FAUX par la valeur qu'il a choisie. En dehors de toute apparence pédante, ça a le mérite de rendre ton code plus lisible en général. (Par exemple, si tu as plusieurs valeurs BAS, MOYEN, FORT, etc, c'est plus pratique de lire if machin == MOYEN que if machin==1 et se demander un temps certain qu'est-ce qu'on avait fait correspondre à 1...)

Comment on fait ? On déclare avec les en-têtes :

Code : Tout sélectionner

enum {FAUX, VRAI} ;
NB : enum produit un 'int'. Sur les nouvelles machines, il n'y a pas de différence entre les int, et les short int. Chez moi, ils font tous deux 4 octets.

A part ça, il est important de comprendre comment marchent les conditions en C, comme tout le monde l'a bien expliqué : dès que c'est différent de 0, c'est "VRAI".

Répondre