package dk.itu.oop.lecture5;
public class SearchTests {
static int findL1(int x, int[] table){
if (table[0]== x) return 0;
int index =0;
while(index+1
e)
from=middle+1;
else
to = middle-1;
}
return -1;
}
static int findRec(int x, int[] a, int from, int to){
if (from<=to){
int middle = (from+to)/2;
int e = a[middle];
if (e==x) return middle;
if (x>e)
return findRec(x,a,middle+1,to);
else
return findRec(x,a,from,middle-1);
}
return -1;
}
static int findR(int x, int[] a){
return findRec(x,a,0,a.length-1);
}
public static void main(String[] args){
int t[] = {1,3,5,7,9,11,13};
System.out.println("Liniear Search, Note version");
System.out.println("5 at: " +findL1(5,t));
System.out.println("4 at: " +findL1(4,t));
System.out.println("1 at: " +findL1(1,t));
System.out.println("13 at: " +findL1(13,t));
System.out.println("0 at: " +findL1(0,t));
System.out.println("15 at: " +findL1(15,t));
System.out.println("Binary search, iterative");
System.out.println("5 at: " +findBI(5,t));
System.out.println("4 at: " +findBI(4,t));
System.out.println("1 at: " +findBI(1,t));
System.out.println("13 at: " +findBI(13,t));
System.out.println("0 at: " +findBI(0,t));
System.out.println("15 at: " +findBI(15,t));
System.out.println("Binary search, recursive");
System.out.println("5 at: " +findR(5,t));
System.out.println("4 at: " +findR(4,t));
System.out.println("1 at: " +findR(1,t));
System.out.println("13 at: " +findR(13,t));
System.out.println("0 at: " +findR(0,t));
System.out.println("15 at: " +findR(15,t));
}
}