Commit 35eb00af authored by Rafik_Hammoutene's avatar Rafik_Hammoutene
Browse files

Ajout de tous les fichiers header

parent ede38b94
Pipeline #4659 failed with stage
in 9 seconds
#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(int valeur);
/**
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
**/
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
**/
int 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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment