Un
algoritmo di ordinamento (
sorting algorithm) è un
algoritmo che viene utilizzato per elencare gli elementi di un insieme secondo una sequenza stabilita da una
relazione d'ordine, in modo che ogni elemento sia minore (o maggiore) di quello che lo segue. In assenza di altre specifiche, la relazione d'ordine viene sempre considerata totale (cioè tale da rendere sempre possibile il confronto tra due elementi dell'insieme): le relazioni d'ordine parziale danno origine agli algoritmi di
ordinamento topologico. A seconda del verso della relazione considerato, un ordinamento può essere ascendente o discendente.