import java.util.LinkedList; import java.util.Queue; public class GeneriqueBulles> { // Méthode bulle générique public static > boolean bulle(Queue source, Queue destination) { boolean changed = false; if (source.isEmpty()) { return false; } T prev = source.poll(); while (!source.isEmpty()) { T current = source.poll(); if (prev.compareTo(current) > 0) { changed = true; destination.add(current); prev = prev; } else { destination.add(prev); prev = current; } } destination.add(prev); return changed; } // Méthode tri générique public static > void tri(Queue file) { Queue intermediaire = new LinkedList<>(); boolean changed; do { changed = bulle(file, intermediaire); Queue temp = file; file = intermediaire; intermediaire = temp; } while (changed); while (!file.isEmpty()) { System.out.print(file.poll() + " "); } System.out.println(); } public static void main(String[] args) { Queue file = new LinkedList<>(); file.add("Banane"); file.add("Pomme"); file.add("Orange"); file.add("Ananas"); tri(file); } }