TacOS
0.2
Page principale
Structures de données
Fichiers
Liste des fichiers
Variables globale
Tout
Structures de données
Fichiers
Fonctions
Variables
Définitions de type
Énumérations
Macros
kernel
include
heap.h
Aller à la documentation de ce fichier.
1
29
#ifndef _HEAP_H_
30
#define _HEAP_H_
31
32
#include <
types.h
>
33
34
#define HEAP_MAX_SIZE 256
36
/*
37
* Structure de tas générique :
38
* Ce tas est compatible avec n'importe quel type de données pour peu qu'on lui
39
* donne une fonction de comparaison entre les elements.
40
* Ce tas manipule uniquement des pointeurs vers les elements qu'il contient
41
* Le tas n'est pas responsable de l'allocation et de la liberation de la mémoire
42
* Il s'agit uniquement d'une structure de tri
43
*/
44
45
// maxheap : la fonction doit retourner >0 si a>b, 0 si a=b, <0 si a<b
46
// minheap : la fonction doit retourner <0 si a>b, 0 si a=b, >0 si a<b
47
51
typedef
int (*
cmp_func_type
) (
void
*,
void
*);
52
53
typedef
int (*id_func_type) (int,
void
*);
54
58
typedef
struct
{
59
cmp_func_type
comparator
;
60
void
*
heap
;
61
int
nb_elements
;
62
size_t
elements_size
;
63
int
max_elements
;
64
}
heap_t
;
65
69
void
initHeap
(
heap_t
* h,
cmp_func_type
cmp,
void
* heap,
size_t
elements_size,
int
max_elements);
70
79
void
*
getTop
(
heap_t
*h);
80
89
int
addElement
(
heap_t
* h,
void
* element);
90
97
int
removetop
(
heap_t
* h);
98
99
int
delElement(
heap_t
* heap,
int
id
, id_func_type func);
100
101
#endif
types.h
heap_t::elements_size
size_t elements_size
Definition:
heap.h:62
getTop
void * getTop(heap_t *h)
Definition:
heap.c:49
heap_t::heap
void * heap
Definition:
heap.h:60
cmp_func_type
int(* cmp_func_type)(void *, void *)
Definition:
heap.h:51
heap_t::comparator
cmp_func_type comparator
Definition:
heap.h:59
removetop
int removetop(heap_t *h)
Definition:
heap.c:103
heap_t
Definition:
heap.h:58
addElement
int addElement(heap_t *h, void *element)
Definition:
heap.c:75
initHeap
void initHeap(heap_t *h, cmp_func_type cmp, void *heap, size_t elements_size, int max_elements)
Definition:
heap.c:34
heap_t::nb_elements
int nb_elements
Definition:
heap.h:61
heap_t::max_elements
int max_elements
Definition:
heap.h:63
Généré le Samedi 3 Janvier 2015 13:22:30 pour TacOS par
1.8.7