-
Notifications
You must be signed in to change notification settings - Fork 0
/
sda.h
66 lines (55 loc) · 1.47 KB
/
sda.h
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*******************************************************************************
* Auteur : Xavier CRÉGUT <[email protected]>
* Objectif : Spécification d'une sda, structure de données associative
******************************************************************************/
#ifndef SDA__H
#define SDA__H
#include <stdbool.h>
#include "sda-specifique.h"
bool empty_sda(sda_t sda);
/* La sda est elle vide ?
*/
void add_data_sda(sda_t* sda, Clef key, Donnee data);
/* Ajoute une donnée à la sda.
*
* Assure :
* data_linked_sda(*sda, key)== data
*/
void delete_data_sda(sda_t* sda, Clef key);
/* Supprime une donnée de la sda à partir de la clé.
* Nécessite :
* sda != NULL
* !empty_sda(*sda)
* Assure :
* !used_key_sda(*sda, key)
*/
bool used_key_sda(sda_t sda, Clef key);
/* La clé est elle présente dans la sda ?
* Nécessite :
* !empty_sda(sda)
*/
Donnee data_linked_sda(sda_t sda, Clef key);
/* Retourne la donnée associée à une clé.
* Nécessite :
* used_key_sda(sda, key)
* Assure:
* La donnée associée key == data_linked_sda(sda, key);
*/
void clean_sda(sda_t* sda);
/* Supprime toutes les données qu'elle contient
* Nécessite:
* sda != NULL
* !empty_sda(*sda)
* Assure :
* empty_sda(*sda)
*/
void destroy_sda(sda_t* sda);
/* Libere toutes les ressources qu'utiliste la sda.
* Nécessite:
* sda != NULL
* Assure:
* sda == NULL
*/
void print_sda(sda_t sda);
/* Affiche la sda. */
#endif