Composants | |
| struct | PhilCell |
| descripteur de cellule de liste Plus de détails... | |
| struct | PhilList |
| descripteur de liste Plus de détails... | |
Définitions des macros | |
| #define | NIL ((philCell*)0) |
| macro pour définir le pointeur vide | |
| #define | PhilCELL PhilCell _cell |
| macro pour définir une structure comme une cellule de liste | |
| #define | PhilListEmpty(Q) (((Q)->last) == (PhilCell*)0) |
| Test de file vide. | |
Définitions des types | |
| typedef PhilCell | PhilCell |
| descripteur de cellule de liste | |
| typedef PhilList | PhilList |
| descripteur de liste | |
Fonctions | |
| void | PhilListPutLast (PhilList *q, PhilCell *b) |
| Insertion en queue d'une cellule. | |
| PhilCell * | PhilListGetFirst (PhilList *q) |
| Retrait de la cellule de tête. | |
| void | PhilListInit (PhilList *q) |
| Initialisation de la liste. | |
|
|
|
|
|
Pour définir qu'une structure quelconque peyt être insérer dans une liste, il suffit d'insérer PhilCELL en premiere définition des composants de la structure struct MyCell{ PhilCELL; int x; int y; ... }; |
|
|
|
|
|
La priorité est un entier >=0. La priorité maximum est 0. Dans une liste circulaire à 1 élément, celui ci est son propre successeur et prédécesseur. l est donc doublement rechainé sur lui-même. |
|
|
Une liste circulaire pointe sur le dernier élément. Pour une liste vide, ce derrnier élément est nul. |
|
|
|
|
|
|
|
||||||||||||
|
L'insertion en queue place la nouvelle cellule à la suite des cellules de même priorité (ou de priorité supérieure) et devant les cellules de priorité inférieure. |
1.2.17