There are many sorting algorithms however there are only a smallhandful that we actually use: insertion sort (stable) is typicallyused for small sets while large data sets primarily use heapsort(unstable), merge sort (stable) or quicksort (unstable). Efficientimplementations typically use a hybrid sort such as Timsort(stable) or introsort (unstable).The following lists all the documented algorithms currentlylisted in Wikipedia's "Sorting algorithm" page:Quicksort, merge sort, in-place merge sort, heapsort, insertionsort, introsort, selection sort, Timsort, cubesort, shell sort,bubble sort, binary tree sort, cycle sort, library sort, patiencesorting, smoothsort, strand sort, tournament sort, ******** sort,comb sort, gnome sort, unshuffle sort, Franceschini's sort, blocksort, odd-even sort, pigeonhole sort, bucket sort (uniform keys),bucket sort (integer keys), counting sort, LSD radix sort, MSDradix sort, MSD radix sort in-place, spreadsort, burstsort,flashsort, postman sort bead sort, simple pancake sort, spaghettisort, sorting network, bitonic sorter, bogo sort, stooge sort,Han's algorithm, Thorup's algorithm.