UltKit

Sortowanie linii

Uporządkuj dowolną listę: alfabetycznie w obu kierunkach, w porządku naturalnym, według pierwszej liczby w każdej linii, według długości albo w losowej kolejności. Sortowanie korzysta z reguł językowych Twojej przeglądarki i odbywa się w całości na Twoim urządzeniu.

Kolejność

Znaki: 0 · słowa: 0 · wiersze: 0

Znaki: 0 · słowa: 0 · wiersze: 0

Działa w całości w tej karcie przeglądarki. Twój tekst nie jest wysyłany ani zapisywany.

Co robi to narzędzie

Sortowanie wierszy porządkuje wiersze alfabetycznie z uwzględnieniem reguł językowych przeglądarki, w porządku naturalnym (file2 przed file10), według pierwszej liczby w wierszu, według długości lub w losowej kolejności.

Przed
item 10
item 9
Item 1
Po
Item 1
item 9
item 10

Kolejność alfabetyczna to nie to samo co kolejność kodów znaków

Najprostszy sposób sortowania tekstu przez komputer opiera się na kodzie znaku i daje dziwne wyniki: każda wielka litera (kody od 65 do 90 w ASCII) trafia przed każdą małą (od 97 do 122), więc „Zebra” znajduje się przed „apple”, a litery z akcentami lądują za z. Ludzie oczekują porządku słownikowego, który językoznawcy nazywają collation (porządkowaniem alfabetycznym). To narzędzie używa Intl.Collator, czyli implementacji algorytmu Unicode Collation Algorithm w przeglądarce, dzięki czemu „apple”, „Banana” i „éclair” są sortowane tak, jak spodziewa się tego czytelnik.

Porządek alfabetyczny zależy też od języka. Niemieckie słowniki umieszczają ä przy a, a szwedzkie stawiają å, ä i ö po z, na samym końcu alfabetu. Narzędzie używa domyślnych ustawień regionalnych przeglądarki, więc lista posortowana w szwedzkim systemie podlega szwedzkim regułom. Gdy włączone jest ignorowanie wielkości liter, litery różniące się tylko wielkością lub akcentem są traktowane jako równe i porządkuje je kolejna różnica.

Sortowanie naturalne, numeryczne i według długości

Porządek alfabetyczny porównuje cyfry pojedynczo, więc „file10” jest przed „file2”, bo 1 jest mniejsze niż 2. Porządek naturalny odczytuje ciągi cyfr jako całe liczby i daje file1, file2, file10, tak jak nazwy wyświetlają menedżery plików, np. Eksplorator Windows i Finder w macOS. Użyj go do tytułów rozdziałów, list wersji, numerów faktur i nazw zdjęć, takich jak IMG_9 i IMG_10.

Porządek numeryczny szuka pierwszej liczby w każdej linii, w tym znaku minus i ułamków dziesiętnych, i sortuje według jej wartości, co sprawdza się przy cennikach, wynikach i liniach typu „12 jabłek”. Linie bez liczby trafiają na koniec. Porządek według pola Długość sortuje według liczby widocznych znaków, od najkrótszej, a remisy rozstrzyga alfabetycznie; przydaje się do znajdowania najkrótszych nazw domen lub wykrywania obciętych wpisów.

Jak działa losowe mieszanie

Losowa kolejność korzysta z algorytmu Fishera–Yatesa (opublikowanego przez Ronalda Fishera i Franka Yatesa w 1938 roku, a dostosowanego do komputerów przez Richarda Durstenfelda w 1964), który przechodzi listę od końca i zamienia każdą linię z losowo wybraną linią znajdującą się na tej samej pozycji lub wcześniej. Przy dobrym źródle losowości każda kolejność jest jednakowo prawdopodobna. Liczby losowe pochodzą z mulberry32, małego generatora pseudolosowego z ziarnem, więc wynik mieszania pozostaje taki sam, dopóki nie zażądasz nowego. Ponieważ jego stan ma 32 bity, może dać co najwyżej około 4,3 miliarda różnych wyników, mniej niż 6,2 miliarda kolejności samych 13 linii. Wystarcza to do pytań quizowych, list odtwarzania i ustalania kolejności prezentacji, ale nie do loterii ani niczego, w czym chodzi o pieniądze lub bezpieczeństwo.

Aby oczyścić listę przed sortowaniem, najpierw przepuść ją przez Usuwanie duplikatów linii.

Najczęściej zadawane pytania

Dlaczego file10 trafia przed file2?
Zwykły porządek alfabetyczny porównuje znak po znaku, a 1 jest przed 2. Wybierz porządek naturalny, który traktuje ciągi cyfr jak liczby, aby file2 było przed file10.
Czy sortowanie umieszcza wyrazy z wielkiej litery na początku?
Nie. Sortowanie używa porządku uwzględniającego język, więc apple i Apple stoją obok siebie. Tylko proste sortowanie według kodów znaków umieszcza wszystkie wielkie litery przed małymi.
Czy losowe mieszanie jest naprawdę losowe?
Używa nieobciążonego mieszania Fishera–Yatesa opartego na szybkim generatorze pseudolosowym z ziarnem. Jest wystarczająco uczciwe do codziennych zastosowań, ale nie nadaje się do losowań, loterii ani zastosowań związanych z bezpieczeństwem.
Gdzie trafiają linie bez liczby przy sortowaniu numerycznym?
Na koniec listy, w porządku alfabetycznym względem siebie. Linie zawierające liczbę są porządkowane według wartości pierwszej liczby znalezionej w linii.
Czy mogę posortować linie w odwrotnej kolejności alfabetycznej?
Tak, wybierz Z→A. Używa tego samego porównania uwzględniającego język co A→Z, tylko odwróconego, więc słowa z akcentami i wielkimi literami zostają w sensownych miejscach.