An efficient divide-and-conquer sorting algorithm that picks a pivot element and partitions the array into two subarrays.
A stable, divide-and-conquer sorting algorithm that divides the input array into two halves, sorts each half recursively, and then merges the sorted halves back together.
A simple comparison-based sorting algorithm that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order.
A simple, in-place comparison-based sorting algorithm that divides the input list into two parts: a sorted and an unsorted section.
A comparison-based sorting algorithm that utilizes a binary heap data structure.
A simple and efficient in-place sorting algorithm that builds a sorted array one element at a time.
A non-comparative integer sorting algorithm that sorts numbers by processing individual digits.
An efficient non-comparison sorting algorithm that counts occurrences of each unique element.
An optimization of insertion sort that allows the exchange of items that are far apart.