Advertisement
stoianpp

binary search, no recursion

Dec 14th, 2013
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.40 KB | None | 0 0
  1. using System;
  2. class BinarySearch
  3. {
  4.     static void Main()
  5.     {
  6.         Console.Write("Enter the array length: ");
  7.         int length = int.Parse(Console.ReadLine());
  8.         Console.Write("Enter the element to be found: ");
  9.         int element = int.Parse(Console.ReadLine());
  10.         int[] myArray = new int[length];
  11.         for (int i = 0; i < length; i++)
  12.         {
  13.             Console.Write("Enter the Array1 Element[{0}]: ", i + 1);
  14.             myArray[i] = int.Parse(Console.ReadLine());
  15.         }
  16.         int minValue = 0;
  17.         int maxValue = myArray.Length;
  18.         Array.Sort(myArray);
  19.         bool isAvailable = false;
  20.  
  21.         while (minValue <= maxValue)
  22.         {
  23.             int midElement = minValue / 2 + maxValue / 2;
  24.             if (myArray[midElement] < element)
  25.             {
  26.                 minValue = midElement + 1;
  27.                 continue;
  28.             }
  29.             else if (myArray[midElement] > element)
  30.             {
  31.                 maxValue = midElement - 1;
  32.                 continue;
  33.             }
  34.             else if (myArray[midElement] == element)
  35.             {
  36.                 Console.WriteLine("The element {0} is in position {1}", myArray[midElement], midElement);
  37.                 isAvailable = true;
  38.                 break;
  39.             }
  40.         }
  41.         if (!isAvailable) Console.WriteLine("There is no element with value {0}", element);
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement