自然定序
在计算机科学中,自然定序(或自然序、自然排序,英文: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] 等。
參考資料
- ^ 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) (美国英语).