Natural sort order explained

In computing, natural sort order (or natural sorting) is the ordering of strings in alphabetical order, except that multi-digit numbers are treated atomically, i.e., as if they were a single character. Natural sort order has been promoted as being more human-friendly ("natural") than machine-oriented, pure alphabetical sort order.[1]

For example, in alphabetical sorting, "z11" would be sorted before "z2" because the "1" in the first string is sorted as smaller than "2", while in natural sorting "z2" is sorted before "z11" because "2" is treated as smaller than "11".

Alphabetical sorting:

  1. z11
  2. z2

Natural sorting:

  1. z2
  2. z11

Functionality to sort by natural sort order is now widely available in software libraries for many programming languages.[2] [3] [4] [5] [6] [7] During the 1996 MacHack conference, the Natural Order Mac OS System Extension was conceived and implemented overnight on-site as an entry for the Best Hack contest.[8] [9] Dave Koelle wrote the Alphanum Algorithm in 1997[10] and Martin Pool published Natural Order String Comparison in 2000.[11]

Notes and References

  1. Web site: Sorting for Humans : Natural Sort Order. blog.codinghorror.com. 12 December 2007.
  2. Web site: PHP: natsort - Manual. php.net.
  3. Web site: Sort::Naturally - metacpan.org. metacpan.org.
  4. Web site: natsort: Simple yet flexible natural sorting in Python.. Seth M.. Morton. 23 December 2021. PyPI.
  5. Web site: Customizable Natural-Order Sort - File Exchange - MATLAB Central.
  6. Web site: NaturalSort: Natural Sort Order in Julia.. Simon. Kornblith. github.com. 25 December 2021.
  7. Web site: NaturalSort.Extension: Support for natural sorting in .NET/C#. Tomáš. Pažourek. github.com. 1 April 2022.
  8. Web site: Natural Order Numerical Sorting.
  9. Web site: TidBITS: The Natural Order of Things. 3 February 1997.
  10. Web site: Dave Koelle's Alphanum Algorithm.
  11. Web site: Martin Pool's Natural Order String Comparison.