summaryrefslogtreecommitdiff
path: root/sem_4/Algo/TP6/Tas.h
diff options
context:
space:
mode:
Diffstat (limited to 'sem_4/Algo/TP6/Tas.h')
-rw-r--r--sem_4/Algo/TP6/Tas.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/sem_4/Algo/TP6/Tas.h b/sem_4/Algo/TP6/Tas.h
new file mode 100644
index 0000000..58dad9a
--- /dev/null
+++ b/sem_4/Algo/TP6/Tas.h
@@ -0,0 +1,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