Un algoritmo di ordinamento è un algoritmo che viene utilizzato per posizionare 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, essa 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.