sort < fichier | uniq 
 
pour la variable d'ordre pour avoir un tri stable, faut utiliser la méthode DSU (bien connu des programmeurs python) Decorate-Sort-Undecorate.
 
ça ajoute juste N à ta complexité ce qui est peu. en gros avant de tout balancer dans le hashset, il faut tranformer les entrées
 
data -> [data, indice] -> traitement -> data
 
et le voilà ton tri stable.