自然定序
(重定向自User:Satoshi Jek/自然定序)
在计算机科学中,自然定序(或自然序、自然排序,英文:Natural sort order)是一种字符串排序方式,其在字母定序的基础上,将字符串中的多个数字字符视为整体,并按数值方式进行排序。对人类而言,自然定序的处理结果看上去会比纯字母序更加直观。[1]
示例
下方示範对 z11
、z2
这两个字符串作升序排序。按字母定序规则排序,因第一个字符串中的 1
在字符顺序上排在 2
之前,因此得到的结果是 z11
排在 z2
之前;而在自然定序中,由于两个字符串中的 11
和 2
都被视为数值,且在数值上 2 排在 11 之前,因此得到的结果是 z2
排在 z11
之前。
字母定序:
z11
z2
自然定序:
z2
z11
实际应用
许多编程语言都提供了按自然定序排序的功能,例如 PHP 的 natsort
[2]、MATLAB 的 natsort
[3] 等。
自然定序也被许多操作系统用于在文件管理中按文件名排序的场景中。[4]
參考資料
- ^ Sorting for Humans : Natural Sort Order. Coding Horror. 2007-12-12 [2023-02-26]. (原始内容存档于2023-08-29).
- ^ PHP: natsort - Manual. www.php.net. [2023-02-26]. (原始内容存档于2023-09-23).
- ^ Customizable Natural-Order Sort. www.mathworks.com. [2023-02-26]. (原始内容存档于2023-06-28) (英语).
- ^ admin. Natural Sort. Aavtech. 2018-08-14 [2023-02-26]. (原始内容存档于2023-02-26) (美国英语).