import java.util.*; public class Main { public static ArrayDeque<Float> scinder(ArrayDeque<Float> file) { ArrayDeque<Float> nouveaufile = new ArrayDeque<>(); for (int i = 0; i < file.size() / 2; i++) { nouveaufile.add(file.poll()); } return nouveaufile; } public static ArrayDeque<Float> fusionner(ArrayDeque<Float> fileun, ArrayDeque<Float> filedeux) { ArrayDeque<Float> fusionnee = new ArrayDeque<>(); while (!fileun.isEmpty() && !filedeux.isEmpty()) { if (fileun.peek() <= filedeux.peek()) { fusionnee.add(fileun.poll()); } else { fusionnee.add(filedeux.poll()); } } fusionnee.addAll(fileun); fusionnee.addAll(filedeux); return fusionnee; } public static ArrayDeque<Float> trier(ArrayDeque<Float> file) { if (file.size() <= 1) { return file; } ArrayDeque<Float> fileun = scinder(file); ArrayDeque<Float> filedeux = new ArrayDeque<>(file); filedeux.removeAll(fileun); fileun = trier(fileun); filedeux = trier(filedeux); return fusionner(fileun, filedeux); } public static void main(String[] args) { ArrayDeque<Float> file = new ArrayDeque<>(); for (String arg : args) { file.add(Float.parseFloat(arg)); } file = trier(file); for (Float f : file) { System.out.println(f); } } }