Náznak zadání:
- pro nastavení gui se použije buď vvýchozí nastavení, nebo se dá upravit přepínači při startu aplikace
- hodnoty nastavené přes parametry se dají přes GUI změnit - pomocí vhodných prvků (TextBox, CheckBox...)
- pro každé vlákno se vytvoří textbox/label do kterého se zapíše jak dlouho dané vlákno třídilo, příp. i slévalo (zapisuje se z toho vytvořeného vlákna (Invoke) ) (pro měření bylo lepší použít System.Diagnostics.Stopwatch místo odečítání DateTime.Now, protože stopwatch dává výsledek v milisekundách)
- pokud se na příkazové řádce zadají neplatné kombinace přepínačů, tak zobrazit nápovědu a skončit.
- aplikace nesmí padat - ošetřit špatné vstupy zadané v GUI
- vstupní soubor s nesetříděnou posloupností se vejde do paměti
- pokud uživatel nezadá vstupní soubor, tak podle nastavení vygenerovat příslušnou posloupnost pro třídění
přepínače
Kód: Vybrat vše
-t x .. x = počet vláken (výchozí 1)
-q .. použít v rámci vlákna quicksort místo mergesortu, který je výchozí
-i file .. file = vstupní soubor s nesetřídenou posloupnosti
-o file .. file = výstupní soubor pro vypsání setříděné posloupnosti
-m x .. x = maximální velikost čísla (výchozí maxInt)
-l x .. x= délka generované posloupnosti (výchozí 10000000)
--bench .. speciální parametr, kde se použije výchozí nastavení a postupně se to pustí s 1 až 10 vlákny a vypiše jak dlouho každý běh trval