Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Nadi Tomeh
SDA
Commits
ca9f6898
Commit
ca9f6898
authored
Nov 22, 2021
by
Rafik_Hammoutene
Browse files
Ajout des fichiers header dynamic
parent
385b4e7c
Pipeline
#4661
failed with stage
in 6 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
C/dynamic_tas_extract.h
0 → 100644
View file @
ca9f6898
#ifndef TAS_BINAIRE_H
#define TAS_BINAIRE_H
#define FALSE 0
#define TRUE 1
#include <stddef.h>
typedef
struct
tas_binaire_str
tas_binaire_t
;
struct
tas_binaire_str
{
size_t
taille
;
// Taille du tableeau(capacité)
size_t
size
;
//Nombres d'élement qui seront stockés dans le tableau
int
echange
;
// Nombre de echanges a faire
int
*
tab
;
// Pointeur vers une case mémoire ou les elem sont stockés
};
/**
Fonction qui créer un tas binaire de taille t
@param valeur qui est un eniter representant la taille du tableau
**/
tas_binaire_t
*
creer_tas_binaire
();
/**
Fonction qui revnvoie le pere d'une clef
dans un tas binaire
@param clef
@returns valeur du pere
**/
int
tas_binaire_pere
(
int
clef
);
/**
Fonction qui ajoute une valeur dans le tas binaire
@param t : tas binaire
@param cle :l'indice de la valeur que l'on souhaite ajouter
@param val :la valeur que l'on souhaite ajouter
Fonction peut etre utiliser dans extrair_min pour echanger les val
void tas_binaire_echanger_valeurs(tas_binaire_t * t, int clef, int val);
**/
/**
Fonction qui retourne le nombre d'echange effectués apres l'insertion dans le tas binaire
@param t est un pointeur vers le tas binaire
@return le nombre d'echange effectués
*/
int
tas_binaire_echange
(
tas_binaire_t
*
t
);
/**
Fonction qui libèere la mémoire occupée par le tas binaire
@param t : pointeur vers la case mémoire pour la libération
**/
void
tas_binaire_detruire
(
tas_binaire_t
*
t
);
/**
Fonction qui insére une valeur dans le tas binaire
@param t qui est un tas binaire et une clé
@returns vrai si l'element à été ajouté, faux sinon
**/
char
insertion_tas_binaire
(
tas_binaire_t
*
t
,
int
cle
);
/**
Fonction qui renvoie e nombre d'element stockes dans le tas binaire
@param t , un pointeur vers un tableau
@returns le nombre d'elements stockés dans le tas binaire
**/
size_t
tas_binaire_size
(
tas_binaire_t
*
t
);
/**
Fonciton qui retourne la capacité du stockage du tas binaire
@param t un pointeur vers le tas binaire
@returns la capacité du stockage du tas binaire
**/
size_t
tas_binaire_capacite
(
tas_binaire_t
*
t
);
/**
FOnciton qui extrait la clé minimale du tas
@param t un tas binaire
@returns le nombre d'echanges faits
**/
int
extraire_heap_minimum
(
tas_binaire_t
*
t
);
/**
Fonction qui renvoie la valeur située à la position donnée par l'utilisateur
@param t un tas binaire
@param pos l'indice de la case
@returns la valeur située à la position donnée
**/
int
tasbinaire_get
(
tas_binaire_t
*
t
,
int
pos
);
/**
FOnction qui determine la règle selon laquelle un espace mémoire plus grand sera alloué ou non
@param t un tas binaire
@returns TRUE si le tableau doit etre agrandi, FALSE SINON
**/
char
tas_do_we_need_to_enlarge_capacite
(
tas_binaire_t
*
t
);
/**
FOnction qui élargit la capacité ou la taille du tableau
@param t un tas binaire
**/
void
tas_enlarge_capacite
(
tas_binaire_t
*
t
);
/**
FOnciton qui réduit la capacité du tableau
@param t un pointeur vers un tableau
**/
void
tas_reduce_capacite
(
tas_binaire_t
*
t
);
/**
FOnction qui determine la règle selon laquelle un espace mémoire plus petit sera alloué ou non
@param t un tas binaire
@returns TRUE si le tableau doit etre amoindri, FALSE SINON
**/
char
tas_do_we_need_to_reduce_capacite
(
tas_binaire_t
*
t
);
/**
FOnction qui retourne le nombre d'échange apres avoir
attribué la val (valeur) au noeud de position clef et trie le tas binaire
@param t un tas binaire
@param cle la clef postions
@param val la valeur
@returns le nombre d'echange
**/
int
tas_diminuer_clef
(
tas_binaire_t
*
t
,
int
cle
,
int
val
);
/**
Ajoute une valeur dans le tas binaire (dans le tab)
@param t un tas binaire
@param x la valeur que l'on souhaite ajouter.
@returns TRUE si le talbrau a été agrandit , FALSE Sinon
**/
char
tas_append
(
tas_binaire_t
*
t
,
int
x
);
/**
Fonciton qui supprime la dernière valeur du tableau
@param t un tas binaire
@returns TRUE si le tableau a été réduit , FALSE sinon
**/
char
tas_pop_back
(
tas_binaire_t
*
t
);
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment