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

Référence du fichier graph_basic.c

fonctions de base pour la manipulation de graphes. Plus de détails...

#include "graphaux.h"
#include "graphes.h"

Fonctions

pcell AlloueCell (pcell *plibre)
 retire la premiere cellule de la liste pointée par plibre et retourne un pointeur sur cette cellule. Plus de détails...

void LibereCell (pcell *plibre, pcell p)
 insère la cellule p au début de la liste pointée par 'plibre'. Plus de détails...

void RetireTete (pcell *plibre, pcell *pliste)
 retire la première cellule de la liste 'pliste'. La cellule est chaînee à la liste 'plibre'. Plus de détails...

void AjouteTete (pcell *plibre, pcell *pliste, int a)
 ajoute une cellule contenant le sommet 'a' en tête de la liste 'pliste'. La cellule est prise dans la liste 'plibre'. Plus de détails...

int EstDansListe (pcell p, int a)
 retourne 1 si le sommet 'a' se trouve dans la liste 'p', 0 sinon. Plus de détails...

grapheInitGraphe (int nsom, int nmaxarc)
 alloue la memoire nécessaire pour représenter un graphe a 'nsom' sommets, possédant au maximum 'nmaxarc' arcs. Retourne un pointeur sur la structure allouée. Plus de détails...

void TermineGraphe (graphe *g)
 libère la memoire occupée par le graphe g. Plus de détails...

grapheReadGraphe (char *filename)
 Lit les données d'un graphe dans le fichier filename, retourne un pointeur sur la structure graphe construite. Plus de détails...

void AjouteArc (graphe *g, int i, int s)
 ajoute l'arc (i,s) au graphe g (application gamma seulement). Plus de détails...

void RetireArc (graphe *g, int i, int s)
 retire l'arc (i,s) du graphe g (application gamma seulement), si celui-ci etait présent. Sinon, pas d'action. Plus de détails...

int PopSuccesseur (graphe *g, int i)
 retire un arc (i,s) du graphe g (application gamma seulement), et retourne le sommet s. Plus de détails...

int EstSuccesseur (graphe *g, int i, int s)
 retourne 1 si le sommet 's' est un successeur du sommet 'i', 0 sinon. Plus de détails...

grapheGrapheAleatoire (int nsom, int narc)
 retourne un graphe aléatoire à 'nsom' sommets et 'narc' arcs. Le graphe est antisymétrique et sans boucle. Le nombre d'arcs doit être <= nsom (nsom - 1) / 2. Les arcs sont pondérés (valeur aléatoire entre 0.0 et 1.0). Plus de détails...


Description détaillée

fonctions de base pour la manipulation de graphes.


Documentation de la fonction

void AjouteArc graphe   g,
int    i,
int    s
 

ajoute l'arc (i,s) au graphe g (application gamma seulement).

Paramètres:
g  (entrée/sortie) : un graphe.
i  (entrée) : un sommet de g.
s  (entrée) : un sommet de g.

void AjouteTete pcell   plibre,
pcell   pliste,
int    a
 

ajoute une cellule contenant le sommet 'a' en tête de la liste 'pliste'. La cellule est prise dans la liste 'plibre'.

Paramètres:
plibre  (entrée) : pointeur sur une liste chaînee de cellules libres.
pliste  (entrée) : pointeur sur une liste.
a  (entrée) : un sommet.

pcell AlloueCell pcell   plibre
 

retire la premiere cellule de la liste pointée par plibre et retourne un pointeur sur cette cellule.

Paramètres:
plibre  (entrée) : pointeur sur une liste chaînee de cellules libres.
Renvoie:
pointeur sur une cellule.

int EstDansListe pcell    p,
int    a
 

retourne 1 si le sommet 'a' se trouve dans la liste 'p', 0 sinon.

Paramètres:
p  (entrée) : une liste chaînee de successeurs.
a  (entrée) : un sommet.
Renvoie:
booléen.

int EstSuccesseur graphe   g,
int    i,
int    s
 

retourne 1 si le sommet 's' est un successeur du sommet 'i', 0 sinon.

Paramètres:
g  (entrée) : un graphe.
i  (entrée) : un sommet de g.
s  (entrée) : un sommet de g.
Renvoie:
booléen.

graphe * GrapheAleatoire int    nsom,
int    narc
 

retourne un graphe aléatoire à 'nsom' sommets et 'narc' arcs. Le graphe est antisymétrique et sans boucle. Le nombre d'arcs doit être <= nsom (nsom - 1) / 2. Les arcs sont pondérés (valeur aléatoire entre 0.0 et 1.0).

Paramètres:
nsom  (entrée) : nombre de sommets.
narc  (entrée) : nombre d'arcs.
Renvoie:
un graphe.
Avertissement:
la méthode employée ici est naïve, tres inefficace du point de vue temps de calcul et ne garantit aucune propriété statistique.

graphe * InitGraphe int    nsom,
int    nmaxarc
 

alloue la memoire nécessaire pour représenter un graphe a 'nsom' sommets, possédant au maximum 'nmaxarc' arcs. Retourne un pointeur sur la structure allouée.

Paramètres:
nsom  (entrée) : nombre de sommets.
nmaxarc  (entrée) : nombre maximum d'arcs.
Renvoie:
un graphe.

void LibereCell pcell   plibre,
pcell    p
 

insère la cellule p au début de la liste pointée par 'plibre'.

Paramètres:
plibre  (entrée) : pointeur sur une liste chaînee de cellules libres.
p  (entrée) : pointeur sur une cellule.

int PopSuccesseur graphe   g,
int    i
 

retire un arc (i,s) du graphe g (application gamma seulement), et retourne le sommet s.

Paramètres:
g  (entrée/sortie) : un graphe.
i  (entrée) : un sommet de g.
Avertissement:
le sommet i doit avoir au moins un successeur (pas de vérification)

graphe * ReadGraphe char *    filename
 

Lit les données d'un graphe dans le fichier filename, retourne un pointeur sur la structure graphe construite.

Paramètres:
filename  (entrée) : nom du fichier graphe.
Renvoie:
un graphe.

void RetireArc graphe   g,
int    i,
int    s
 

retire l'arc (i,s) du graphe g (application gamma seulement), si celui-ci etait présent. Sinon, pas d'action.

Paramètres:
g  (entrée/sortie) : un graphe.
i  (entrée) : un sommet de g.
s  (entrée) : un sommet de g.

void RetireTete pcell   plibre,
pcell   pliste
 

retire la première cellule de la liste 'pliste'. La cellule est chaînee à la liste 'plibre'.

Paramètres:
plibre  (entrée) : pointeur sur une liste chaînee de cellules libres.
pliste  (entrée) : pointeur sur une liste.

void TermineGraphe graphe   g
 

libère la memoire occupée par le graphe g.

Paramètres:
g  (entrée) : un graphe.


Généré le Sun Apr 21 15:03:58 2002 pour Graphes par doxygen1.2.12 écrit par Dimitri van Heesch, © 1997-2001