Na PC je k dispozici standardní program pro řazení.
Volíme Příslušenství/ Příkazový řádek.
Příkazem sort /? se vypíší jeho možnosti:
SORT [/R] [/+n] [/M kilobajty] [/L národní_prostředí] [/REC počet_bajtů_záznamu]
[[jednotka1:][cesta1]název_souboru1] [/T [jednotka2:][cesta2]]
[/O [jednotka3:][cesta3]název_souboru3]
/+n Určuje číslo znaku, n, od
něhož má začít každé porovnání. Parametr /+3
označuje, že
každé porovnání bude zahájeno od třetího
znaku na každém řádku. Řádky obsahující méně
než n znaků budou porovnány před ostatními řádky.
Ve výchozím nastavení začínají porovnání od
prvního znaku na každém řádku.
/L[OCALE] národní_prostředí Přepíše výchozí národní prostředí systému
zadaným národním prostředím. Národní prostředí
dosahuje nejrychlejší pořadí řazení a je
v současnosti jedinou alternativou. Při řazení
se nikdy nerozlišují velká a malá písmena.
/M[EMORY] kilobajty Určuje velikost hlavní paměti, kterou lze použít
k řazení (v kilobajtech). Minimální velikost
paměti je vždy alespoň 160 kB.
Pokud je zadána velikost paměti,
bude k řazení použita vždy přesná velikost,
bez ohledu na velikost dostupné
hlavní paměti.
Nejlepšího výkonu je obvykle dosaženo, pokud
velikost paměti není zadána. Ve výchozím nastavení
proběhne řazení v jednom průchodu (bez vytvoření
dočasného souboru), pokud se všechna data vejdou
do výchozí maximální velikosti paměti.
V opačném případě proběhne řazení
ve dvou průchodech (částečně seřazená data budou
uložena v dočasném souboru), přičemž
velikost paměti použité pro oba průchody
(řazení i sloučení) bude stejná. Výchozí maximální
velikost paměti je 90 % dostupné hlavní paměti,
jsou-li vstupem i výstupem soubory. V ostatních
případech je použito 45 % hlavní paměti.
/REC[ORD_MAXIMUM] znaků Určuje největší počet znaků v záznamu (výchozí
hodnota je 4096, maximální 65535).
/R[EVERSE] Obrací pořadí řazení, řadí tedy od Z k A, potom
od 9 k 0.
[jednotka1:][cesta1]název_souboru1
Udává soubor určený k řazení. Není-li uveden,
bude řazen standardní vstup. Řazení bude
rychlejší, zadáte-li vstupní soubor, než když
stejný soubor přesměrujete do standardního vstupu.
/T[EMPORARY]
[jednotka2:][cesta2] Určuje cestu k adresáři, který bude obsahovat
pracovní paměť pro řazení jestliže se data
nevejdou do hlavní paměti. Není-li tento
přepínač uveden, bude použit dočasný adresář
systému.
/O[UTPUT]
[jednotka3:][cesta3]název_souboru3
Určuje soubor, v němž bude uložen výsledek
řazení. Není-li zadán, budou data zapisována
na standardní výstup. Řazení bude rychlejší,
zadáte-li výstupní soubor, než když do stejného
souboru přesměrujete standardní výstup.
Proveďte seřazení následujícího souboru standardním sortem:
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
222222222222222222222222222222222222222222222222222222222222222
666666666666666666666666666666666666666666666666666666666666666
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
444444444444444444444444444444444444444444444444444444444444444
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Pozn. Některé starší verze Sortu řadí speciální znaky a číslice odchylně od Pascalu.
Návrh řešení
Správný výsledek: 222222222222222222222222222222222222222222222222222222222222222 444444444444444444444444444444444444444444444444444444444444444 666666666666666666666666666666666666666666666666666666666666666 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd |