计算机科学中,自然定序(或自然序、自然排序,英文:Natural sort order)是一种字符串排序方式,其在字母定序的基础上,将字符串中的多个数字字符视为整体,并按数值方式进行排序。对人类而言,自然定序的处理结果看上去会比纯字母序更加直观。[1]

示例

编辑

下方示范对 z11z2 这两个字符串作升序排序。按字母定序规则排序,因第一个字符串中的 1 在字符顺序上排在 2 之前,因此得到的结果是 z11 排在 z2 之前;而在自然定序中,由于两个字符串中的 112 都被视为数值,且在数值上 2 排在 11 之前,因此得到的结果是 z2 排在 z11 之前。

字母定序:

  1. z11
  2. z2

自然定序:

  1. z2
  2. z11

实际应用

编辑

许多编程语言都提供了按自然定序排序的功能,例如 PHPnatsort[2]MATLABnatsort[3] 等。

自然定序也被许多操作系统用于在文件管理中按文件名排序的场景中。[4]

参考资料

编辑
  1. ^ Sorting for Humans : Natural Sort Order. Coding Horror. 2007-12-12 [2023-02-26]. (原始内容存档于2023-08-29). 
  2. ^ PHP: natsort - Manual. www.php.net. [2023-02-26]. (原始内容存档于2023-09-23). 
  3. ^ Customizable Natural-Order Sort. www.mathworks.com. [2023-02-26]. (原始内容存档于2023-06-28) (英语). 
  4. ^ admin. Natural Sort. Aavtech. 2018-08-14 [2023-02-26]. (原始内容存档于2023-02-26) (美国英语). 

外部链接

编辑