1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| #ifndef _GRAPHE_LISTE
#define _GRAPHE_LISTE1
typedef int SID; /*Renommage des entiers pour nommer les sommets*/
typedef struct maillon {
SID s;/*sommet stocké dans le maillon*/
struct maillon *suivant;}
typedef struct {
int n;/*nombre de sommets*/
MAILLON **listes; /*liste d'adjacence*/
}GRAPHE;
void reservation_en_memoire(int n,GRAPHE *g);
/*reserve l'espace mémoire necessaire pour representer un graphe comportant n sommets*/
void liberation_memoire(GRAPHE *g);
/*libere la mémoire occupée par le graphe g */
void cree_graphe_vide(GRAPHE *g);
/*initialise la structure de telle sorte qu'elle represente un graphe sans arc */
void ajouter_connection(GRAPHE *g,SID j,SID i);
/*ajoute un arc entre le sommet i et le sommet j du graphe g*/
void retirer_connection(GRAPHE *g,SID j,SID i);
/*retire l'arc entre le sommet i et le sommet j du graphe g*/
int est_adjacent(GRAPHE *g,SId i,SID j);
/*retourne 1 si j est un sucesseur de i dans g, sinon 0 */
int recupere_sommet_adjacent(GRAPHE *g,SId i,SID *adj,int *nbadj);
/*recupere dans un tableau adj les sommets adjacents a i dans g et fourni egalement le
nombre de sommets adjacents dans nbad */
void copie_graphe(GRAPHE *g1,GRAPHE *g2);
/*copie le graphe g1 dans le graphe g2*/
void lire_graphe(char *nom,GRAPHE *g);
/*lit et range dans g le contenu du fichier nom */
void ecrit_graphe(GRAPHE *g,char *nom);
/*Ecrit le graphe g dans le fichier nom */
#endif |
Partager