Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Main
- {
- public static void main(String[] args)
- {
- String[] A = {"","a","aa","aaa"};
- System.out.println(bsrTest(A,"a"));
- System.out.println(bsrTest(A,"b"));
- }
- // Notkun: int k = bsrTest(a,s);
- // Fyrir: a er strengjafylki í vaxandi röð,
- // s er strengur.
- // Eftir: k er -1 ef s er ekki til í a,
- // annars er a[k] strengurinn s.
- // Fylkið a er óbreytt.
- public static int bsrTest( String[] a, String s )
- {
- int k = binarySearchRecursive(a, s, 0, a.length);
- return k;
- }
- // Notkun: int k = binarySearchRecursive(a,s,i,j);
- // Fyrir: a er strengjafylki, s er strengur.
- // Eftir: Ef strengurinn s er til í strengjafylkinu a þá er k
- // vísir á s innan a, annars er k == -1.
- public static int binarySearchRecursive( String[] a, String s, int i, int j )
- {
- int m = i + (j-i)/2;
- if(a.length==0)
- {
- return 0;
- }
- if(s.compareTo(a[a.length-1]) > 0 || s.compareTo(a[0]) < 0)
- {
- return -1;
- }
- if( a[m].compareTo(s) < 0 )
- {
- i = m+1;
- }
- else
- {
- j = m;
- }
- if( i < j) i = binarySearchRecursive( a, s, i, j);
- return i;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement