diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2025-11-21 18:37:48 +0100 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2025-11-21 18:37:48 +0100 |
| commit | 20fc727d4f954eb2109b71a7686c3107fdfa4bbf (patch) | |
| tree | a5613db97e67d8968c7d622b605ed530755176bb /semestre 3/structures des données/tme/tme6-11/Reseau.h | |
| parent | 341fc63ff791e08c7d0a00346080067c9bd1d5dd (diff) | |
Cours du 3 au 21 novembre
ce qui fait 3 semaines en philo et une semaine en info
Diffstat (limited to 'semestre 3/structures des données/tme/tme6-11/Reseau.h')
| -rw-r--r-- | semestre 3/structures des données/tme/tme6-11/Reseau.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/semestre 3/structures des données/tme/tme6-11/Reseau.h b/semestre 3/structures des données/tme/tme6-11/Reseau.h new file mode 100644 index 0000000..dc618a1 --- /dev/null +++ b/semestre 3/structures des données/tme/tme6-11/Reseau.h @@ -0,0 +1,41 @@ +#ifndef __RESEAU_H__ +#define __RESEAU_H__ +#include "Chaine.h" + +typedef struct noeud Noeud; + +/* Liste chainee de noeuds (pour la liste des noeuds du reseau ET les listes des voisins de chaque noeud) */ +typedef struct cellnoeud { + Noeud *nd; /* Pointeur vers le noeud stock\'e */ + struct cellnoeud *suiv; /* Cellule suivante dans la liste */ +} CellNoeud; + +/* Noeud du reseau */ +struct noeud{ + int num; /* Numero du noeud */ + double x, y; /* Coordonnees du noeud*/ + CellNoeud *voisins; /* Liste des voisins du noeud */ +}; + +/* Liste chainee de commodites */ +typedef struct cellCommodite { + Noeud *extrA, *extrB; /* Noeuds aux extremites de la commodite */ + struct cellCommodite *suiv; /* Cellule suivante dans la liste */ +} CellCommodite; + +/* Un reseau */ +typedef struct { + int nbNoeuds; /* Nombre de noeuds du reseau */ + int gamma; /* Nombre maximal de fibres par cable */ + CellNoeud *noeuds; /* Liste des noeuds du reseau */ + CellCommodite *commodites; /* Liste des commodites a relier */ +} Reseau; + +Noeud* rechercheCreeNoeudListe(Reseau *R, double x, double y); +Reseau* reconstitueReseauListe(Chaines *C); +void ecrireReseau(Reseau *R, FILE *f); +int nbLiaisons(Reseau *R); +int nbCommodites(Reseau *R); +void afficheReseauSVG(Reseau *R, char* nomInstance); +#endif + |
