ajout crypto

This commit is contained in:
2025-03-31 10:06:09 +02:00
parent 731020a934
commit bff1a74ae7
680 changed files with 14849 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
import java.util.NoSuchElementException;
public class SimpleQueue<T> {
private static class Node<T> {
T value;
Node<T> next;
Node(T value) {
this.value = value;
}
}
private Node<T> head; // Le début de la file
private Node<T> tail; // La fin de la file
private int size;
public SimpleQueue() {
head = null;
tail = null;
size = 0;
}
/**
* Ajoute un élément à la fin de la file.
*
* @param element L'élément à ajouter.
*/
public void enqueue(T element) {
Node<T> newNode = new Node<>(element);
if (isEmpty()) {
head = tail = newNode;
} else {
tail.next = newNode;
tail = newNode;
}
size++;
}
/**
* Retire et renvoie l'élément en tête de la file.
*
* @return L'élément retiré.
* @throws NoSuchElementException si la file est vide.
*/
public T dequeue() {
if (isEmpty()) {
throw new NoSuchElementException("Queue is empty");
}
T value = head.value;
head = head.next;
if (head == null) { // Si la file est désormais vide
tail = null;
}
size--;
return value;
}
/**
* Renvoie l'élément en tête de la file sans le retirer.
*
* @return L'élément en tête.
* @throws NoSuchElementException si la file est vide.
*/
public T peek() {
if (isEmpty()) {
throw new NoSuchElementException("Queue is empty");
}
return head.value;
}
/**
* Vérifie si la file est vide.
*
* @return true si la file est vide, false sinon.
*/
public boolean isEmpty() {
return size == 0;
}
/**
* Renvoie le nombre d'éléments dans la file.
*
* @return La taille de la file.
*/
public int size() {
return size;
}
}