All pastes #250461 Raw Edit

Miscellany

public text v1 · immutable
#250461 ·published 2006-11-17 00:02 UTC
rendered paste body
/**
   A class for executing binary searches through an array.
*/
public class BinarySearcher
{  
   /**
      Constructs a BinarySearcher.
      @param anArray a sorted array of integers
   */
   public BinarySearcher(Appointment[] anArray)
   {
      a = anArray;
   }
   
   /**
      Finds a value in a sorted array, using the binary
      search algorithm.
      @param v the value to search
      @return the index at which the value occurs, or -1
      if it does not occur in the array
   */@@
   public int search(Appointment v)
   {  
	   int midp = 0;
      int low = 0;
      int high = a.length - 1;
      while (low <= high)
      {
         int mid = (low + high) / 2;
         midp = mid;
         int diff = a[mid].compareTo(v);
      
         if (diff == 0) // a[mid] == v
            return 0;
         else if (diff < 0) // a[mid] < v 
            low = mid + 1;
         else
            high = mid - 1;
      }
      return midp + 1;
   }@@

   private Appointment[] a;
}





public class AppointmentBook{
	
	public AppointmentBook(){
	}
	public AppointmentBook(Appointment[] an){
		anArray = an;
	}@@
	public String add(Appointment a){
		BinarySearcher searcher = new BinarySearcher(anArray);
		int sea = searcher.search(a);
		if (sea == 0){
			return "Error: Overlapping Appointments!";
		}
		else{
			Appointment[] an = new Appointment[anArray.length+2];
			for(int n = 0; n < sea - 1; n++){
				an[n] = anArray[n];
			}
			for(int n = sea; n < anArray.length+1; n++){
				an[n] = anArray[n - 1];
			}
			an[sea - 1] = a;
			anArray = an;
			return "Appointment Added!";
		}@@
			
	}@@
	public String print(){
		for (int n = 0; n < anArray.length - 1; n++){
			x = anArray[n];
			return x.toString();
		}
		return null;
	}@@
	private Appointment x;
	private Appointment[] anArray;
}





/**
   A class for executing binary searches through an array.
*/
public class BinarySearcher
{  
   /**
      Constructs a BinarySearcher.
      @param anArray a sorted array of integers
   */
   public BinarySearcher(Appointment[] anArray)
   {
      a = anArray;
   }
   
   /**
      Finds a value in a sorted array, using the binary
      search algorithm.
      @param v the value to search
      @return the index at which the value occurs, or -1
      if it does not occur in the array
   */
@@
   public int search(Appointment v)
   {  
	   int midp = 0;
      int low = 0;
      int high = a.length - 1;
      while (low <= high)
      {
         int mid = (low + high) / 2;
         midp = mid;
         int diff = a[mid].compareTo(v);
      
         if (diff == 0) // a[mid] == v
            return 0;
         else if (diff < 0) // a[mid] < v 
            low = mid + 1;
         else
            high = mid - 1;
      }
      return midp + 1;
   }
@@
   private Appointment[] a;
}