Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
List of algorithms
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
====Sequence sorting==== {{main|Sorting algorithm}} {{contradicts other|Sorting_algorithm#Comparison_of_algorithms|date=March 2011}} * Exchange sorts ** [[Bubble sort]]: for each pair of indices, swap the items if out of order ** [[Cocktail shaker sort]] or bidirectional bubble sort, a bubble sort traversing the list alternately from front to back and back to front ** [[Comb sort]] ** [[Gnome sort]] ** [[Odd–even sort]] ** [[Quicksort]]: divide list into two, with all items on the first list coming before all items on the second list.; then sort the two lists. Often the method of choice * Humorous or ineffective ** [[Bogosort]]: the list is randomly shuffled until it happens to be sorted ** [[Slowsort]] ** [[Stooge sort]] ** [[Stalin sort]]: all elements that are not in order are removed from the list<ref>{{cite web | title=A "Sorting" algorithm | website=Code Golf Stack Exchange | date=October 30, 2018 | url=https://codegolf.stackexchange.com/questions/174964/a-sorting-algorithm | access-date=April 4, 2025}}</ref> * Hybrid ** [[Flashsort]] ** [[Introsort]]: begin with quicksort and switch to heapsort when the recursion depth exceeds a certain level ** [[Timsort]]: adaptative algorithm derived from merge sort and insertion sort. Used in Python 2.3 and up, and Java SE 7. * Insertion sorts ** [[Insertion sort]]: determine where the current item belongs in the list of sorted ones, and insert it there ** [[Library sort]] ** [[Patience sorting]] ** [[Shellsort|Shell sort]]: an attempt to improve insertion sort ** [[Tree sort]] (binary tree sort): build binary tree, then traverse it to create sorted list ** [[Cycle sort]]: in-place with theoretically optimal number of writes * Merge sorts ** [[Merge sort]]: sort the first and second half of the list separately, then merge the sorted lists ** [[Slowsort]] ** [[Strand sort]] * Non-comparison sorts ** [[Bead sort]] ** [[Bucket sort]] ** [[Burstsort]]: build a compact, cache efficient [[burst trie]] and then traverse it to create sorted output ** [[Counting sort]] ** [[Pigeonhole sort]] ** [[Postman sort]]: variant of Bucket sort which takes advantage of hierarchical structure ** [[Radix sort]]: sorts strings letter by letter * Selection sorts ** [[Heapsort]]: convert the list into a heap, keep removing the largest element from the heap and adding it to the end of the list ** [[Selection sort]]: pick the smallest of the remaining elements, add it to the end of the sorted list ** [[Smoothsort]] * Other ** [[Bitonic sorter]] ** [[Pancake sorting]] ** [[Spaghetti sort]] ** [[Topological sorting|Topological sort]] * Unknown class ** [[Samplesort]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)