Page principale   Modules   Liste des composants   Liste des fichiers   Composants   Déclarations  

Interface de gestion de listes
[Implémentation de PHIL]


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.

PhilCellPhilListGetFirst (PhilList *q)
 Retrait de la cellule de tête.

void PhilListInit (PhilList *q)
 Initialisation de la liste.


Description détaillée

C'est une gestion de liste circulaire doublement chaînée triée par priorité croissante. La priorité est un entier >=0. La priorité maximum est 0.

Documentation de la macro

#define NIL   ((philCell*)0)
 

#define PhilCELL   PhilCell _cell
 

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

#define PhilListEmpty      (((Q)->last) == (PhilCell*)0)
 


Documentation du type

typedef struct PhilCell PhilCell
 

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.

typedef struct PhilList PhilList
 

Une liste circulaire pointe sur le dernier élément. Pour une liste vide, ce derrnier élément est nul.


Documentation de la fonction

PhilCell* PhilListGetFirst PhilList   q
 

Paramètres:
q  liste où retirer
Renvoie :
cellule retirer
On retire toujours en tête où se trouve la cellule la + prioritaire.

void PhilListInit PhilList   q
 

Paramètres:
q  liste à initialiser

void PhilListPutLast PhilList   q,
PhilCell   b
 

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.


Généré le Thu Jan 15 15:49:02 2004 par doxygen1.2.17