Selection sort is sorting algorithm that divide into the sorted and unsorted part. It moves unsorted items to sorted array every step. It is an in-place comparison sort and faster than bubble sort. Write a program to implement selection sort.

Bucket sorting is a sorting algorithm that works with partitioning an array into a number of packets. Each bucket sorted individually using the same or different algorithm. Bucket sort and radix sort look like same. But it has some difference.

Radix sort is a linear sorting algorithm that sorts data by grouping keys. The individual digits which share the same significant position and value.

Radix sort helps to sort fixed length words. Radix sort requires fixed size key and difficult to generalize. It can use with integers, fixed size strings, and “less than”, “greater than” or “lexicographic order” comparison predicates.

The priority queue is a data structure with each element has a priority associated with it. The high priority element served before low priority element.

Heap sort is a comparison-based sorting algorithm and divides the input into a sorted and an unsorted region, and it iteratively shrinks the unsorted region by extracting the largest element and moving that to the sorted region.

Insertion sort is a simple sorting algorithm that builds sorted array one item at a time. It is efficient for the small data set.