protected override void Run() { var sortingHelper = new SortingHelper(); sortingHelper.QuickSort(values, 0, values.Length - 1); }
static void Main(string[] args) { //Lze upravit výchozí hodnoty pro generování int min = -500; int max = 200; int count = 1000; string path; string fileName; string saveQ; bool? saveToFile = null; List <int> lst = null; Console.WriteLine("Chcete generovat náhodná čísla do souboru? Ano/Ne"); while (!saveToFile.HasValue) { saveQ = Console.ReadLine().Trim(); if (saveQ.ToLower() == "ano") { //Přepsat soubor saveToFile = true; break; } else if (saveQ.ToLower() == "ne") { //Nepřepsat soubor saveToFile = false; break; } Console.WriteLine(@"Neplatný vstup. Zadejte Ano/Ne."); } if (saveToFile.Value) { Console.WriteLine("Zadejte vstupní parametry pro přípravu pole celočíselných čísel."); Console.Write("Zadejte minimální hodnotu čísla: "); while (!int.TryParse(Console.ReadLine(), out min)) { Console.Write("Vstup není platný. Zadejte minimální hodnotu čísla: "); } Console.Write("Zadejte maximální hodnotu čísla: "); while (!int.TryParse(Console.ReadLine(), out max)) { Console.Write("Vstup není platný. Zadejte maximální hodnotu čísla: "); } Console.Write("Zadejte počet generovaných čísel: "); while (!int.TryParse(Console.ReadLine(), out count)) { Console.Write("Vstup není platný. Zadejte počet generovaných čísel: "); } Console.Write("Zadejte absolutní cestu pro uložení vygenerovaných čísel do souboru(bez názvu souboru): "); path = Console.ReadLine(); while (!Directory.Exists(path)) { Console.Write("Vstup není platný. Zadejte absolutní cestu pro uložení vygenerovaných čísel do souboru(bez názvu souboru): "); path = Console.ReadLine(); } Console.Write("Zadejte název souboru: "); fileName = Console.ReadLine(); while (fileName.IndexOfAny(Path.GetInvalidFileNameChars()) != -1) { Console.Write("Vstup není platný. Zadejte název souboru: "); fileName = Console.ReadLine(); } if (path.Last() != '\\') { path += '\\'; } if (RandomGeneratorHelper.GetRandomNumbers(min, max, count, path + fileName)) { string data = File.ReadAllLines(path + fileName)[0]; List <string> dataList = data.Split(' ').ToList(); lst = dataList.Select(a => int.Parse(a)).ToList(); } } else { lst = RandomGeneratorHelper.GetRandomNumbers(min, max, count); } //Otestuje vložit všechny hodnoty do stacku + jednu navíc /*Console.WriteLine("Stack"); * TestStack(count, lst); * * //Otestuje vložit všechny hodnoty do queue + jednu navíc * Console.WriteLine("Queue"); * TestQueue(count, lst);*/ Console.WriteLine(); /*Console.WriteLine("Vygenerované pole"); * Console.WriteLine(String.Join(", ", lst.ToArray()));*/ /*Console.WriteLine("Select sort"); * Console.WriteLine(String.Join(", ", SortingHelper.SelectSort(lst.ToArray()))); * Console.WriteLine("Insert sort"); * Console.WriteLine(String.Join(", ", SortingHelper.InsertSort(lst.ToArray()))); * Console.WriteLine("Bubble sort"); * Console.WriteLine(String.Join(", ", SortingHelper.BubbleSort(lst.ToArray())));*/ //arr = FileReader.ReadToList(path).ToArray(); var arr = lst.ToArray(); SortingHelper.QuickSort(arr); FileWriter.WriteListToFile(arr.ToList(), @"c:\skola\ADS\Quick.txt"); int val = 0; Console.Write("Zadejte hledanou hodnotu čísla: "); while (!int.TryParse(Console.ReadLine(), out val)) { Console.Write("Vstup není platný. Zadejte hledanou hodnotu čísla: "); } var retLst = SearchHelper.BinarySearch(arr, val); if (retLst.Count == 0) { Console.WriteLine("Hledaná hodnota {0} nebyla nalezena", val); } else { Console.WriteLine("Hledaná hodnota {0} se nachází na pozicích: ", val); foreach (var pos in retLst) { Console.WriteLine(pos); } } Console.ReadKey(); }