Mega Code Archive

 
Categories / C# / Collections Data Structure
 

Uses a recursive method to implement binary search

using System; public class BinarySearch {   public static int Search (int[] data, int key, int left, int right) {     if (left <= right) {        int middle = (left + right)/2;              if (key == data[middle])         return middle;       else if (key < data[middle])         return Search(data,key,left,middle-1);       else          return Search(data,key,middle+1,right);     }     return -1;      }   public static void Main(String[] args) {     int key;       // the search key     int index;     // the index returned     int[] data = new int[10];          for(int i = 0; i < data.Length; i++)       data[i] = i;          key = 9;     index = Search(data, key, 0, data.Length-1);     if (index == -1)       Console.WriteLine("Key {0} not found", key);     else       Console.WriteLine ("Key {0} found at index {1}", key, index);   } }