BUT2/DEV/DEV3.2/DEV32/1/Bulle.java

39 lines
1.2 KiB
Java
Raw Normal View History

2023-12-21 16:36:03 +01:00
public class Bulle{
public static <E> boolean bulle(File<E> pileRemplis, File<E> pileVide){
if (pileVide.isEmpty() == false){
throw new IllegalArgumentException("Erreur : l'argument pileVide n'est pas vide");
}
E max, v2;
boolean haveChangement = false;
if (pileRemplis.isEmpty() == false){
max = pileRemplis.dequeue();
while (pileRemplis.isEmpty() == false){
v2 = max;
max = pileRemplis.dequeue();
if (max < v2){ // changer cette ligne pour rendre les objet comparable
pileVide.enqueue(max);
max = v2;
haveChangement = true;
}
else{
pileVide.enqueue(v2);
}
}
pileVide.enqueue(max);
}
return haveChangement;
}
public static <E> File<E> tri(File<E> pile1){
File<E> pile2 = new File<>();
File<E> transition = null;
while (Bulle.bulle(pile1, pile2)){
transition = pile2;
pile2 = pile1;
pile1 = transition;
}
return pile2;
}
}