• Top Posts

    Implement Binary Search in C# dotnet


      class BinartSearch  
       {  
         public static int BinarySearch(int key, int[] arr)  
         {  
           int low = 0;  
           int high = arr.Length - 1;  
           int middle;  
           while (low <= high)  
           {  
             middle = (low + high) / 2;  
             if (key > arr[middle])  
               low = middle + 1;  
             else if (key < arr[middle])  
               high = middle - 1;  
             else  
               return middle;  
           }  
           return -1;  
         }  
         public static void PrintArray(int low, int middle, int high, int[] arr)  
         {  
           for (int i = 0; i <= high; i++)  
           {  
             if (i < low)  
             {  
               Console.Write("  ");  
             }  
             else  
             {  
               if (i == middle)  
                 Console.Write("{0,2}m ", arr[i]);  
               else  
                 Console.Write("{0,2} ", arr[i]);  
             }  
           }  
           Console.WriteLine();  
         }  
         public static void Main()  
         {  
           int searchKey;  
           int searchResult;  
           int[] testScores = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38 };  
           do  
           {  
             Console.Write("Please enter the test score you would like to locate: ");  
             searchKey = Convert.ToInt32(Console.ReadLine());  
             searchResult = BinarySearch(searchKey, testScores);  
             if (searchResult >= 0)  
               Console.WriteLine("The score was found in position: {0}\n", searchResult);  
             else  
               Console.WriteLine("The score was not found\n");  
             Console.Write("Would you like to do another search? Y)es N)o ");  
           } while (Console.ReadLine().ToUpper() == "Y");  
         }  
       }  
    

    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728