Radix Sort
Radix Sort
Radix sort is one of the sorting algorithms used to sort a list of integer numbers in
order. In radix sort algorithm, a list of integer numbers will be sorted based on the
digits of individual numbers. Sorting is performed from least significant digit to the
Radix sort algorithm requires the number of passes which are equal to the number of
digits present in the largest number among the list of numbers. For example, if the
largest number is a 3 digit number then that list is sorted with 3 passes.
• Step 1 - Define 10 queues each representing a bucket for each digit from 0 to 9.
• Step 2 - Consider the least significant digit of each number in the list which is to
be sorted.
• Step 3 - Insert each number into their respective queue based on the least
significant digit.
• Step 4 - Group all the numbers from queue 0 to queue 9 in the order they have
• Step 5 - Repeat from step 3 based on the next least significant digit.
• Step 6 - Repeat from step 2 until all the numbers are grouped based on the most
significant digit.
Example
Complexity of the Radix Sort Algorithm
To sort an unsorted list with 'n' number of elements, Radix sort algorithm needs the
following complexities...
int exp;
for (exp = 1; m / exp > 0; exp *= 10)
countSort(list, n, exp);
}
int main()
{
int list[] = { 82, 901, 100, 12, 150, 77, 55, 23 };
int i, n = sizeof(list) / sizeof(list[0]);
radixsort(list, n);
Output