stkirov

11.BinarySearch

Jan 6th, 2013
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.04 KB | None | 0 0
  1. //Write a program that finds the index of given element in a sorted array of integers by using the binary search algorithm (find it in Wikipedia).
  2. using System;
  3.  
  4. class BinarySearchAlgorithm
  5. {
  6.     static void BinarySearch(int[] array, int number, int min, int max)
  7.     {
  8.         if (min>max)
  9.         {
  10.             Console.WriteLine("No such number in array.");
  11.             return;
  12.         }
  13.         int middleElement = (min + max) / 2;
  14.  
  15.         if (number > array[middleElement])
  16.         {
  17.             min = middleElement + 1;
  18.         }
  19.         else if (number < array[middleElement])
  20.         {
  21.             max = middleElement - 1;
  22.         }
  23.         else if (number == array[middleElement])
  24.         {
  25.             Console.WriteLine(middleElement);
  26.             return;
  27.         }
  28.         BinarySearch(array, number, min, max);
  29.     }
  30.     static void Main()
  31.     {
  32.         int[] array = { 1,2,3,5,6,7,8 };
  33.  
  34.         Array.Sort(array); //Binary Search works only on sorted arrays
  35.  
  36.         BinarySearch(array, 4, 0, array.Length - 1);
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment