Подсчитать количество сравнений в алгоритме бинарного поиска - C#
Формулировка задачи:
Здравствуйте, у меня есть массив слов words в котором мы будем находить необходимые слова, с помощью массива wordsForFind, слова нужно находить с помощью бинарного поиска, вот что реализовано: сам метод бинарного поиска для слов
и вот как он вызывается:
это просто кусок кода, она работает, но мне нужно завести счётчик который бы искал количество сравнений при поиске, его нужно где то в самом методе , где то в while поместить? (в коде в методе самом видно переменную counter) я так пробовал , но я не знаю правильно ли + мне нужно как то на консоль этот счетчик вывести я пробовал просто в конце метода написать Console.Writeline() но ничего не выводит, так как делаю неправильно , можете плиз направить в нужное русло? Спасибо
public static int searchString(String[] names, String key) { int first = 0; int counter = 0; int last = names.Length; while (first < last) { int mid = (first + last) / 2; if (key.CompareTo(names[mid]) < 0) { last = mid; } else if (key.CompareTo(names[mid]) > 0) { first = mid + 1; } else { return mid; } counter++; } return -(first + 1); }
int results; for (int key = 0; key < wordsForFind.Length; key++) { results = searchString(words, wordsForFind[key]); if (results >= 0) { Console.WriteLine(wordsForFind[key] + " is at index " + results); } else { Console.WriteLine(wordsForFind[key] + " is not in the array."); } }
так в каком месте правильнее написать counter?
Решение задачи: «Подсчитать количество сравнений в алгоритме бинарного поиска»
textual
Листинг программы
int counter; results = searchString(words, wordsForFind[key], out counter); Console.WriteLine(counter);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д