自然定序
在計算機科學中,自然定序(或自然序、自然排序,英文: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) (美國英語).