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

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

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

void AjouteTete (pcell *plibre, pcell *pliste, int a, TYP_VARC v)
 ajoute une cellule contenant le sommet 'a' et la valeur 'v' en tête de la liste 'pliste'. La cellule est prise dans la liste 'plibre'.

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

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.

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

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

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

void AjouteArcValue (graphe *g, int i, int s, TYP_VARC v)
 ajoute l'arc (i,s) au graphe g (application gamma seulement).

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.

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

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

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


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) : extrémité initiale de l'arc.
s  (entrée) : extrémité finale de l'arc.

void AjouteArcValue graphe   g,
int    i,
int    s,
TYP_VARC    v
 

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

Paramètres:
g  (entrée/sortie) : un graphe.
i  (entrée) : extrémité initiale de l'arc.
s  (entrée) : extrémité finale de l'arc.
v  (entrée) : une valeur pour l'arc.

void AjouteTete pcell   plibre,
pcell   pliste,
int    a,
TYP_VARC    v
 

ajoute une cellule contenant le sommet 'a' et la valeur 'v' 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.
v  (entrée) : une valeur.

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 Wed Jan 12 09:48:57 2005 pour Graphes par doxygen1.2.18