自然順

自然順（自然な並び換え順序、）とは、文字列の照合規則の一つであり，
辞書式順序を基本としつつも複数桁の数字をまとめて1つの数値として扱う。
一般に計算機による文字列の並び換えは辞書式順序が主であるが，自然順による並びは人間にとってより直感的であり，とくに末端利用者向けのUIとして推奨されている。

 例 
例として、文字列“foo11”と“foo2”の照合について考える。

辞書順
先頭から比較する。“foo”は共通。次に“1”と“2”を比較する。“1”は“2”よりも辞書的に前にあるので，“foo11”は“foo2”より小さいと看做される。
 foo11
 foo2

自然順
“foo”の照合までは辞書順と同じである。次に比較されるのは数値としての“11”および“2”である。“11”は“2”よりも数値的に後にあるので，“foo11”は“foo2”より大きいと看做される。
 foo2
 foo11

 自然順の並び換えを提供する主な言語・ライブラリ 
プログラミング言語には，自然順による並び換え機能が組み込まれているものもある。
また，組み込みで存在していなくとも，多くの場合は自然順による並び換え機能を提供するライブラリが存在する。

以下に，いくつかプログラミング言語において文字列を自然順に並び換えている例を挙げる。
なお，標準（または規格）として自然順照合が提供されているものにかんしては，言語・ライブラリ名の先頭に赤星（）を附加した。

 Win32 API
 Windows XPおよびWindows Server 2003以降のWin32 APIでは関数が利用できる。

 Perl（モジュール）
 Perl 5ではモジュールが提供する関数を用いて配列の各要素を自然順に照合できる。


 PHP
 PHP 4、PHP 5、PHP 7では関数を用いて配列の各要素を自然順に照合できる。


 Python（パッケージ）
 Python 2、Python 3ではnatsortパッケージを利用して自然順の照合ができる。


 脚注 

 出典 

 参考文献 


 実装





 関連項目 
 対人可読媒体

 外部リンク 
 Online Alphabetizer Tool - オンラインで種々の照合規則を実行できるWebサービス。「Sort Natural」ボタンが自然順、「Sort Alphabetically」ボタンが（自然順が数字以外の照合の際に基本とする）アルファベット順の並び換え。

Category:順番
Category:ソート