Подсчитать количество сравнений в алгоритме бинарного поиска - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, у меня есть массив слов words в котором мы будем находить необходимые слова, с помощью массива wordsForFind, слова нужно находить с помощью бинарного поиска, вот что реализовано: сам метод бинарного поиска для слов
Листинг программы
  1. public static int searchString(String[] names, String key) {
  2. int first = 0;
  3. int counter = 0;
  4. int last = names.Length;
  5. while (first < last) {
  6. int mid = (first + last) / 2;
  7. if (key.CompareTo(names[mid]) < 0) {
  8. last = mid;
  9. } else if (key.CompareTo(names[mid]) > 0) {
  10. first = mid + 1;
  11. } else {
  12. return mid;
  13. }
  14. counter++;
  15. }
  16. return -(first + 1);
  17.  
  18. }
и вот как он вызывается:
Листинг программы
  1. int results;
  2. for (int key = 0; key < wordsForFind.Length; key++)
  3. {
  4. results = searchString(words, wordsForFind[key]);
  5. if (results >= 0) {
  6. Console.WriteLine(wordsForFind[key] + " is at index " + results);
  7. }
  8. else {
  9. Console.WriteLine(wordsForFind[key] + " is not in the array.");
  10. }
  11. }
это просто кусок кода, она работает, но мне нужно завести счётчик который бы искал количество сравнений при поиске, его нужно где то в самом методе , где то в while поместить? (в коде в методе самом видно переменную counter) я так пробовал , но я не знаю правильно ли + мне нужно как то на консоль этот счетчик вывести я пробовал просто в конце метода написать Console.Writeline() но ничего не выводит, так как делаю неправильно , можете плиз направить в нужное русло? Спасибо
так в каком месте правильнее написать counter?

Решение задачи: «Подсчитать количество сравнений в алгоритме бинарного поиска»

textual
Листинг программы
  1. int counter;
  2. results = searchString(words, wordsForFind[key], out counter);
  3. Console.WriteLine(counter);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы