fixmint
PL

Dlaczego 10 jest przed 2 i jak sortowanie naturalne to naprawia

Autor: · · zaktualizowano 8 listopada 2026 · czas czytania: 4 min

Zwykłe sortowanie alfabetyczne porównuje najpierw pierwszy znak każdej pozycji, potem drugi i tak dalej. Pierwszym znakiem „10” jest 1, a 1 jest przed 2, więc „10” trafia przed „2”. Kolejność jest poprawna dla tekstu, ale błędna dla liczb. Sortowanie naturalne traktuje każdy ciąg cyfr jako jedną całą liczbę, więc 2 idzie przed 10. Dopełnienie liczb zerami, np. 02 i 10, rozwiązuje ten sam problem już w samych nazwach.

Sortowanie liniiLista jest w złej kolejnościZrób to za darmo

Dlaczego komputer sortuje w ten sposób

Zwykłe sortowanie porównuje tekst pozycja po pozycji, od lewej, według kodów znaków albo porządku sortowania danego języka. Zatrzymuje się na pierwszej różnicy. To odpowiada słowom: „jabłko” jest przed „banan”, bo pierwsze litery są różne.

Przy liczbach to zawodzi. Weźmy trzy nazwy plików: file-2, file-9 i file-10. W ostatniej parze porównanie dochodzi do szóstej pozycji, gdzie stoją znaki 1 i 9. Jedynka jest mniejsza, więc file-10 idzie pierwszy. Zwykła kolejność to: file-10, file-2, file-9. Dla liter jest to poprawne, a dla kogoś, kto czyta liczby, błędne.

Sortowanie naturalne

Sortowanie naturalne, nazywane też liczbowym lub ludzkim, dzieli każdy tekst na ciągi cyfr i ciągi pozostałych znaków. Ciągi cyfr porównuje według wartości, a resztę jako tekst. Dzięki temu 2 jest przed 10, a file-2 przed file-10. Wiele menedżerów plików używa domyślnie takiego sortowania, dlatego folder z ponumerowanymi zdjęciami zwykle wygląda w nich dobrze.

Posortuj listę w fixmint

  1. Wklej listę do narzędzia Sortowanie wierszy, jedna pozycja w jednym wierszu.
  2. W polu Kolejność wybierz Liczby zamiast A→Z.
Zwykłe A→ZLiczby
item1, item10, item2item1, item2, item10

Kolejność Liczby odczytuje cyfry jako całe liczby. Usuń duplikaty linii oferuje tę samą kolejność Liczby. Najpierw usuwa powtórzenia, a potem sortuje, więc wynik jest unikalny i uporządkowany liczbowo.

Dopełnianie zerami: drugie rozwiązanie

Gdy sam nazywasz pliki, zadbaj, by każda liczba miała tę samą długość: 01, 02 i tak dalej aż do 10, albo od 001 do 100. Wtedy zwykłe sortowanie daje poprawną kolejność wszędzie, także w programach bez sortowania naturalnego. Dopełnianie zachowuje też kolejność po wysłaniu listy poza komputer, bo nazwy plików same niosą kolejność. Działa, bo równa długość sprawia, że porównanie znak po znaku zgadza się z kolejnością liczbową. Szerokość musi mieścić największą liczbę. Schemat trzycyfrowy obsłuży do 999, więc plik o nazwie 1000 trafiłby między 100 a 101 i zepsułby kolejność. Gdy lista przekroczy swoją szerokość, dopełnij wszystkie liczby do większej.

Stosuj to przy nowych plikach, a istniejące zmień zbiorczo, dodając zera.

Gdzie widać zwykłe sortowanie

Ponumerowane nazwy pojawiają się wszędzie: zdjęcia wyeksportowane jako IMG_1 do IMG_120, rozdziały Rozdział 1 do Rozdział 30, listy utworów, numery faktur i wersje programów. Każda z nich może wyglądać źle po zwykłym sortowaniu, bo o pozycji decyduje pierwsza cyfra. Rozdział 10 ląduje obok Rozdziału 1, a Rozdział 2 pod koniec.

Etykiety z literami działają tak samo. Część 2a, Część 2b i Część 10 w sortowaniu naturalnym ustawiają się w tej kolejności, bo cyfry porównuje się najpierw jako liczby, a litery rozstrzygają tylko w obrębie tej samej liczby. Zwykłe sortowanie stawia Część 10 przed Częścią 2a.

Daty wymagają uwagi. W sortowaniu naturalnym daty zapisane dniem na początku, np. 4/11/2026 i 12/01/2026, porównują najpierw dzień, więc 4/11 jest przed 12/01, mimo że 12 stycznia jest wcześniej w roku. Daty zapisane od roku, np. 2026-11-04, sortują się poprawnie jako zwykły tekst, więc użyj tego formatu, gdy lista ma być posortowana według daty.

Sprawdź wynik po sortowaniu

Sprawdź granice, na których zwykłe sortowanie najczęściej zawodzi: przejście z 9 do 10 i z 99 do 100. W sortowaniu Liczby te miejsca są w porządku. Jeśli lista miesza liczby dopełnione i niedopełnione, zacznij sprawdzanie od tych miejsc, bo tam widać mieszankę.

Wybierz kolejność świadomie

Używaj A do Z dla słów, nazwisk i tytułów, gdzie znaczenie niesą litery. Używaj Liczb przy listach, których pozycje zaczynają się od liczby: ilości, strony, rozdziału lub wersji. Używaj długości, gdy najkrótsze pozycje mają być na początku. Losowo służy do losowej kolejności i przy każdym naciśnięciu daje inny wynik. Zasady zwykłego porządku alfabetycznego opisuje artykuł jak posortować listę alfabetycznie.

Przypadki szczególne

  • Wiersze z mieszanką. Sortowanie naturalne porównuje całe wiersze od lewej. Na liście zaczynającej się od imienia to imię decyduje o kolejności, więc „Bob 1” idzie po „Ada 10”, mimo że 1 jest mniejsze niż 10.
  • Mieszana szerokość. Liczby dopełnione i niedopełnione w jednej liście mogą w sortowaniu naturalnym uchodzić za równe, więc ich kolejność zależy od danych wejściowych. Wybierz jedną szerokość dla każdej listy.
  • Liczby dziesiętne. Sortowanie naturalne czyta 1.9 jako 1, potem 9, a 1.10 jako 1, potem 10, więc 1.9 idzie pierwsze. To odpowiada numerom wersji, w których 1.10 jest późniejszym wydaniem. Dla wartości dziesiętnych, np. cen, 1.10 jest mniejsze niż 1.9, więc kolejność naturalna jest błędna. Dopełnij części dziesiętne do tej samej liczby miejsc: 1.10 i 1.90.
  • Wielkość liter. Domyślnie sortowanie traktuje Apple i apple jako to samo, więc sortuje je razem w kolejności wklejenia. Opcja uwzględniania wielkości liter to zmienia.

Przetłumaczone z Wersja angielska przy wsparciu AI.

Komentarze

    Brak komentarzy. Bądź pierwszy.

    Twoja ocena (opcjonalnie)

    Twój e-mail nigdy nie jest pokazywany ani zapisywany.

    Okładka: How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 strony o przewagach człowieka: ekonomicznych i strategicznych, które pozostają rzadkie, gdy AI potrafi wykonać większość pracy umysłowej.

    $3.84Kup na GumroadPo angielsku