static void HandleInput(string text, string pattern, string option) { StringMatcher s = new StringMatcher(); if (option == "1") { int index = s.NaiveStringMatching(text, pattern); } if (option == "2") { int index = s.RK_Search(text, pattern); } if (option == "3") { int index = s.BM_Search(text.ToCharArray(), pattern.ToCharArray()); } if (option == "4") { int index = text.IndexOf(pattern); } }
//handles user input static void HandleInput(string text, string pattern, string option) { StringMatcher s = new StringMatcher(); //measures execution time Stopwatch sw = new Stopwatch(); //Naive Search if (option == "1") { sw.Start(); int index = s.NaiveStringMatching(text, pattern); sw.Stop(); if (index == -1) { Console.WriteLine("Данной подстроки не существует"); } else { Console.WriteLine($"Индекс начала подстроки: {index}"); } } //RK Search if (option == "2") { sw.Start(); int index = s.RK_Search(text, pattern); sw.Start(); if (index == -1) { Console.WriteLine("Данной подстроки не существует"); } else { Console.WriteLine($"Индекс начала подстроки: {index}"); } } //BM Search if (option == "3") { sw.Start(); int index = s.BM_Search(text.ToCharArray(), pattern.ToCharArray()); sw.Stop(); if (index == -1) { Console.WriteLine("Данной подстроки не существует"); } else { Console.WriteLine($"Индекс начала подстроки: {index}"); } } //C# Search if (option == "4") { sw.Start(); int index = text.IndexOf(pattern); sw.Stop(); if (index == -1) { Console.WriteLine("Данной подстроки не существует"); } else { Console.WriteLine($"Индекс начала подстроки: {index}"); } } //execution time output TimeSpan duration = sw.Elapsed; Console.WriteLine("Время выполнения : {0}", duration.ToString()); }