blob: 58dad9a586645dab90382437ac51530bce7eaab3 (
plain)
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
|
#ifndef TAS_H
#define TAS_H
#include <iostream>
#include <sstream>
#include "AB.h"
typedef int indiceDansTableauSommet;
class ArbreParfait
{
public:
int IndicePremierSommetLibre;
int hauteur;
int* contenu;
void Echanger(indiceDansTableauSommet,indiceDansTableauSommet);
public:
ArbreParfait(int);
// on passe la hauteur max de l'arbre, un arbre réduit à sa racine étant de hauteur 0
int AjouteSommetArbreParfait(int);
// renvoie -1 si l'ajout a échoué
bool SommetValide(indiceDansTableauSommet);
indiceDansTableauSommet Racine();
bool FeuilleP(indiceDansTableauSommet);
indiceDansTableauSommet Pere(indiceDansTableauSommet);
indiceDansTableauSommet FilsGauche(indiceDansTableauSommet);
indiceDansTableauSommet FilsDroit(indiceDansTableauSommet);
void SupprimerArbreParfait(indiceDansTableauSommet);
};
class Tas : public ArbreParfait {
public:
Tas(int);
void Remonter(indiceDansTableauSommet);
void Descendre(indiceDansTableauSommet);
void SupprimerTas(indiceDansTableauSommet);
void AjouterTas(int);
int Supmin();
void DescendreRecursive(indiceDansTableauSommet indiceDansTas, AB S);
AB TasVersAB();
};
#endif
|