Rešitev: program Bisekcija z dvema tabelama (Java)

Iz MaFiRaWiki

Naloga: program Bisekcija z dvema tabelama

  1. import java.io.*;
  2.  
  3. public class Bisekcija{
  4.  
  5.  
  6. public static void main(String[] args) throws IOException{
  7. String[] pr = {"Blatnik", "Cestnik", "Dacar", "Novak", "Novak", "Robnik"};
  8. String[] im = {"Ancka", "Fani", "Francka", "Brunhilda", "Hildegarda", "Jerica"};
  9. int k1 = poisci(pr, im, "Cestnik", "Fani"); // vrne 1
  10. int k2 = poisci(pr, im, "Dacar", "Brunhilda"); // vrne -1
  11. System.out.println(k1 +" "+ k2);
  12. }
  13.  
  14. public static int poisci(String[] priimek, String[] ime, String pr, String im){
  15. int i = 0;
  16. int j = priimek.length - 1;
  17. while (i <= j){
  18. int k = (i+j)/2;
  19. String temp = priimek[k] + " " + ime[k];
  20. String temp2 = pr + " " + im;
  21. int temp3 = temp.compareTo(temp2);
  22. if (temp3 == 0) return k;
  23. else if (temp3 > 0) j = k - 1;
  24. else i = k + 1;
  25. //System.out.println(k + " " + i + " " + j);
  26. }
  27. return -1;
  28. }
  29. }
Osebna orodja