The exchange sort is a sorting algorithm that compares each item with other items of the array and swap the item if requires.

Sort the items by exchanging pairs of items until the sequence is sorted. In general, an algorithm may exchange adjacent elements as well as widely separated one.

Shell sort is a sorting algorithm that starts by sorting pairs of elements far apart from each other, then progressively reducing the gap between elements to be compared. Shell sort is a variation of insertion sort. Shell sort is a generalization of insertion sort.

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.

Quicksort is an efficient comparison sort algorithm. It can operate in place on the array, requiring small additional amounts of memory to perform sorting.

Merge sort is a divide and conquer and comparison-based sorting algorithm. It divide the array into subarray and conquer by recursively sorting two subarrays. It combines the results into the final array.