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. |