Естественный порядок сортировки - это упорядочение строк в алфавитном порядке , за исключением того , что многозначные числа обрабатываются атомарно, т. Е. Как если бы они были одним символом. Естественный порядок сортировки продвигался как более удобный («естественный»), чем машинно-ориентированный чистый алфавитный порядок. [1]
Например, при алфавитной сортировке «z11» будет отсортировано перед «z2», потому что «1» отсортировано как меньшее, чем «2», в то время как при естественной сортировке «z2» отсортировано перед «z11», поскольку «2» отсортировано как меньшее чем "11".
Алфавитная сортировка:
- z11
- z2
Естественная сортировка:
- z2
- z11
Системное расширение Natural Order для Mac OS было задумано и внедрено на месте в одночасье в качестве заявки на участие в конкурсе на лучший взлом во время конференции MacHack 1996 года в Дирборне, штат Мичиган. [2] [3]
Дэйв Келле написал алгоритм Alphanum в 1997 году [4], а Мартин Пул опубликовал в 2000 году «Сравнение строк в естественном порядке» [5].
Функция сортировки по естественному порядку сортировки теперь широко доступна в библиотеках программного обеспечения для многих языков программирования. [6] [7] [8] [9] [10]
Ссылки [ править ]
- ^ «Сортировка для людей: естественный порядок сортировки» . blog.codinghorror.com .
- ^ "Числовая сортировка в естественном порядке" .
- ^ "TidBITS: Естественный порядок вещей" .
- ^ "Алгоритм Alphanum Дэйва Коэля" .
- ^ «Сравнение строк естественного порядка Мартина Пула» .
- ^ «PHP: натсорт - Руководство» . php.net .
- ^ "Сортировка :: Естественно - search.cpan.org" . search.cpan.org .
- ^ Мортон, Сет М. «natsort: Простая, но гибкая естественная сортировка в Python» - через PyPI.
- ^ "Настраиваемая сортировка в естественном порядке - Обмен файлами - MATLAB Central" .
- ^ Корнблит, Саймон. «NaturalSort: естественный порядок сортировки в Юлии» . github.com .
Внешние ссылки [ править ]
- Алфавитный указатель. Естественный порядок сортировки.