Commit 390653a0 authored by Kevin F's avatar Kevin F
Browse files

new version

parent 791f5255
Pipeline #4645 failed with stage
in 6 seconds
......@@ -126,13 +126,18 @@ public class Analyzer {
}
}
void append_swap(int x){
this.nb_swap.add(x);
}
void save_values_swap(String path){
int i;
File file = new File(path);
FileWriter fr = null;
try {
fr = new FileWriter(file);
for (i = 0; i < cost.size(); ++i){
for (i = 0; i < this.getNb_swap().size(); ++i){
fr.write(i+" "+ i +" "+nb_swap.get(i)+"\n");
}
......@@ -148,13 +153,6 @@ public class Analyzer {
}
}
/**
*/
void append_swap(Integer x){
this.nb_swap.add(x);
}
public ArrayList<Integer> getNb_swap() {
return nb_swap;
}
......
......@@ -48,6 +48,11 @@ public class Main {
}
t.finalize(); // Libération de la mémoire.
for(Integer swap : swap_analysis.getNb_swap()){
System.out.println("[MAIN] : Swap effectué : " + swap);
}
// Affichage de quelques statistiques sur l'expérience.
System.err.println("Total cost : "+time_analysis.get_total_cost());
System.err.println("Average cost : "+time_analysis.get_average_cost());
......
......@@ -17,7 +17,7 @@ class TasException extends Exception{
public class Tas {
private Integer[] table; // le tableau pour stocker les clés
private Integer swapIteration; // nombre d'itérations pour le swap
private int swapIteration; // nombre d'itérations pour le swap
public Tas() { // Constructeur par défaut
......@@ -62,14 +62,14 @@ public class Tas {
}
public int getParentOf(int index) throws TasException { // Retourne l'index du parent d'un élément
int parent = 0;
//int parent = 0;
if (index >= (this.table.length)) // Si l'index n'existe pas
throw new TasException("Index inexistant");
else if(index == 0 || index == 1) // Si l'index est le premier, on retourne le premier ou si index = 1; 1-1 /2 = 0
parent = this.table[0];
return 0;
else
parent = this.table[(int)((index - 1)/2)]; // Retourne l'index du parent
return parent;
return (int)((index - 1)/2); // Retourne l'index du parent
}
public int getLeftChildOf(int index) throws TasException { // Retourne l'index du fils gauche d'un index donné
......@@ -116,7 +116,7 @@ public class Tas {
int swap = 0;
// Si l'index est supérieur 0 et si la clé actuelle est inférieure à la clé du parent, on swap
while (index > 0 && this.table[index] > this.getParentOf(index)) {
while (index > 0 && this.table[index] > this.table[this.getParentOf(index)]) {
// On stocke la valeur du parent dans une variable temporaire tmp
int tmp = this.table[this.getParentOf(index)];
......@@ -142,10 +142,6 @@ public class Tas {
this.setSwapIteration(swap);
}
private void setSwapIteration(int swap) {
this.swapIteration = swap;
}
private Integer getIndexOf(int key) {
int index = 0;
System.out.println("[Tas] : On cherche la case pour la clé : " + key );
......@@ -161,10 +157,14 @@ public class Tas {
}
public Integer getSwapIteration() { // Getter de swapIteration
public int getSwapIteration() { // Getter de swapIteration
return this.swapIteration;
}
private void setSwapIteration(int swap) {
this.swapIteration = swap;
}
public Integer findElementAt(int index) {
return this.table[index];
}
......
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