Graphes  0.1
graphaux.h
Aller à la documentation de ce fichier.
1 
4 #include <stdio.h>
5 #include <string.h>
6 /*
7 #include <errno.h>
8 #include <sys/types.h>
9 #include <unistd.h>
10 */
11 #include <stdlib.h>
12 #include <sys/time.h>
13 
14 typedef char boolean;
15 
16 #define TRUE 1
17 #define FALSE 0
18 
19 /* ===================================== */
20 /* GESTION DE PILE */
21 /* ===================================== */
22 
26 typedef struct Lifo {
28  int Max;
30  int Sp;
32  int Pts[1];
33 } Lifo;
34 
35 /* prototypes */
36 Lifo * CreeLifoVide( int taillemax );
37 void LifoFlush( Lifo * L );
38 boolean LifoVide( Lifo * L );
39 int LifoPop( Lifo * L );
40 void LifoPush( Lifo * L, int V );
41 void LifoPrint( Lifo * L );
42 void LifoPrintLine( Lifo * L );
43 void LifoTermine( Lifo * L );
44 
45 /* ===================================== */
46 /* TRI */
47 /* ===================================== */
48 
49 #define TypeCle long
50 
51 /* prototypes */
52 void TriRapideStochastique (int * A, TypeCle *T, int p, int r);
53 
54 /* ===================================== */
55 /* MESURE DE TEMPS */
56 /* ===================================== */
57 
58 #ifdef DEFTIMEVAL
59 struct timeval {
60  unsigned long tv_sec; /* seconds */
61  long tv_usec; /* and microseconds */
62 };
63 
64 struct timezone {
65  int tz_minuteswest; /* minutes west of Greenwich */
66  int tz_dsttime; /* type of dst correction */
67 };
68 #endif
69 
73 typedef struct timeval chrono;
74 
75 /* prototypes */
76 void start_chrono( chrono *tp );
77 int read_chrono( chrono *tp );
78 
79 /* ===================================== */
80 /* GENERATION DE POSTSCRIPT */
81 /* ===================================== */
82 
83 /* prototypes */
84 
85 void PSHeader(FILE *fd, double figure_width, double figure_height, double line_width, int font_size );
86 void EPSHeader(FILE *fd, double figure_width, double figure_height, double line_width, int font_size );
87 void PSMove (FILE *fd, double x, double y);
88 void PSDraw (FILE *fd, double x, double y);
89 void PSLine (FILE *fd, double xd, double yd, double xf, double yf);
90 void PSDrawcircle (FILE *fd, double x, double y, double r);
91 void PSDrawdisc (FILE *fd, double x, double y, double r);
92 void PSString (FILE *fd, double x, double y, char *s);
93 void PSFooter(FILE *fd);
94 
95 /* ===================================== */
96 /* ENSEMBLES */
97 /* ===================================== */
98 
99 boolean * EnsembleVide(int n);
Lifo * CreeLifoVide(int taillemax)
alloue une liste vide.
Definition: graphaux.c:17
int Max
taille max de la Lifo
Definition: graphaux.h:28
void LifoPrintLine(Lifo *L)
affiche le contenu de la liste L, suivi d'un retour ligne.
Definition: graphaux.c:111
void TriRapideStochastique(int *A, TypeCle *T, int p, int r)
tri par ordre croissant des valeurs du tableau T. Le tri s'effectue sur un tableau A contenant les in...
Definition: graphaux.c:199
void LifoTermine(Lifo *L)
récupère l'espace mémoire occupé par la liste L.
Definition: graphaux.c:130
void start_chrono(chrono *tp)
démarre le chronométrage
Definition: graphaux.c:222
int read_chrono(chrono *tp)
lecture du chronomètre
Definition: graphaux.c:237
void LifoPush(Lifo *L, int V)
insère au début de la liste L la valeur V
Definition: graphaux.c:78
boolean LifoVide(Lifo *L)
teste si la liste est vide.
Definition: graphaux.c:47
int Pts[1]
tableau pour la pile (re-dimensionné dynamiquement)
Definition: graphaux.h:32
void LifoFlush(Lifo *L)
ré-initialise L (tous les éléments présents sont retirés).
Definition: graphaux.c:35
structure de pile (Last In, First Out).
Definition: graphaux.h:26
int Sp
index de pile (pointe la 1ere case libre)
Definition: graphaux.h:30
struct timeval chrono
strucure pour la mesure du temps
Definition: graphaux.h:73
boolean * EnsembleVide(int n)
alloue et initialise un tableau de n booléens, représentant l'ensemble vide.
Definition: graphaux.c:385
void LifoPrint(Lifo *L)
affiche le contenu de la liste L.
Definition: graphaux.c:95
int LifoPop(Lifo *L)
retire de la liste L la valeur se trouvant au début, et retourne cette valeur.
Definition: graphaux.c:60