Faut toter dans la vie ajoute des fichiers dev et src

This commit is contained in:
2025-11-06 14:58:35 +01:00
parent 829d7359d7
commit 2db0a6dcde
7 changed files with 740 additions and 0 deletions

BIN
TP_DEV3.2/File/Fusion.class Normal file

Binary file not shown.

View File

@@ -0,0 +1,82 @@
import java.util.*;
public class Fusion<T extends Comparable<T>> {
private Queue<T> scinder(Queue<T> file){
Queue<T> moitie = new LinkedList<>();
int taille = file.size()/2;
for(int i=0; i<taille; i++){
moitie.add(file.remove());
}
return moitie;
}
private Queue<T> fusionner(Queue<T> file1, Queue<T> file2){
Queue<T> fusion = new LinkedList<>();
while(!file1.isEmpty()&&!file2.isEmpty()){
if (file1.peek().compareTo(file2.peek()) <= 0){
fusion.add(file1.remove());
}
else{
fusion.add(file2.remove());
}
}
fusion.addAll(file1);
fusion.addAll(file2);
return fusion;
}
private Queue<T> trier(Queue<T> file){
if(file.size()<=1){
return file;
}
Queue<T> moitie = scinder(file);
Queue<T> gauche = trier(moitie);
Queue<T> droite = trier(file);
return fusionner(gauche,droite);
}
public static void main(String[] args) {
Queue<Integer> file = new LinkedList<>();
file.add(5);
file.add(2);
file.add(9);
file.add(1);
Fusion<Integer> tri = new Fusion<>();
Queue<Integer> resultat = tri.trier(file);
System.out.println("File triée : " + resultat);
}
}

View File

@@ -0,0 +1,59 @@
public class MaFileChainee<E> extends AbstractQueue<E> implements Queue<E> {
private static class Node<E> {
E valeur;
Node<E> suivant;
Node(E valeur){
this.valeur=valeur;
}
private Node<E> tete = null;
private Node<E> queue = null;
private taille = 0;
}
@Override
private boolean offer(E e){
Node<E> nouveau= new Node<>(e);
if(queue==null){
tete=nouveau;
queue=nouveau;
}
else {
queue=nouveau;
queue.suivant=nouveau;
}
taille++;
return true;
}
}