All pastes #33292 Raw Edit

Someone

public text v1 · immutable
#33292 ·published 2005-12-11 16:45 UTC
rendered paste body
public class BinSearch
{

 private static void swap(int [] num, int i, int j)
   {
      int tmp = num[i];
      num[i] = num[j];
      num[j] = tmp;
   }
   public static int search(String [] a, String x)
   {
      int low = 0;
      int hi = a.length - 1;
      int index = -1;
      while(low <= hi)
      {
         int mid = (low + hi) / 2;
         if(x.compareTo(a[mid]) < 0)
            hi = mid - 1; // to the right
         else if( x.compareTo(a[mid]) > 0)
            low = mid + 1; // to the left
         else
         {
            // Neither greater than nor less than ...
            // ... must be equal
            index = mid; // a[mid] is our guy, set index to mid
            break;
         }
      }

      return index;
   }

  static void sort(int[]  num)
   {
      for(int i = 0; i < num.length-1; i++)
      {
         // First find the index of the largest element
         int maxIndex = i;
         for(int j = i; j < num.length; j++)
            if(num[j] < num[maxIndex])
               maxIndex = j;

         // Swap the largest with the current position
         swap(num, i, maxIndex);

      }
  }

   public static void main(String [] args)
   {
      // define an string array
      String [] num = {"Julian", "Dick", "Ann", "George", "Timmy (the dog)"};

      System.out.println("The unsorted array:");
      for(int i = 0; i < num.length; i = i + 1)
         System.out.print(num[i] + " ");
      System.out.println("\n");

      // Call the sort method (static method of the Sort class)
     sort.sort(num);

      System.out.println("The sorted array:");
      for(int i = 0; i < num.length; i = i + 1)
         System.out.print(num[i] + " ");
      System.out.println("\n");

      System.out.println("enter a name:");
      String x = Console.readString();

      System.out.println(x + " is at index ");
      System.out.println(search(num, x));
   }
}