package fr.iutfbleau.sae.mhuffman;

import java.util.Comparator;

/**
 * 
 * Comparateur utilisé pour trier les nœuds de l'arbre de Huffman.
 * Le tri se fait uniquement en fonction de la fréquence du nœud.
 * Les nœuds ayant une plus petite fréquence doivent être placés avant.
 *
 * Cette classe permet d'éviter les classes anonymes ou les
 * expressions avancées, et reste simple à comprendre.
 */
public class ComparateurHuffmanNode implements Comparator<HuffmanNode> {

    /**
     * Compare deux nœuds en fonction de leur fréquence.
     *
     * @param a premier nœud à comparer
     * @param b second nœud à comparer
     * @return un entier négatif si a < b, positif si a > b, 0 si égalité
     */
    @Override
    public int compare(HuffmanNode a, HuffmanNode b) {
        return a.getFrequence() - b.getFrequence();
    }
}