Advertisement
Nitilki

Untitled

Dec 7th, 2022
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.35 KB | None | 0 0
  1. package razeni;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Random;
  5.  
  6. public class VyhledavaniCisel {
  7.     public static final int DELKA = 10;
  8.     public static final int MIN = -9;
  9.     public static final int MAX = 9;
  10.    
  11.     public static int[] vygenerujPosloupnost() {
  12.         int[] posloupnost = new int[DELKA];
  13.         Random rnd = new Random();
  14.        
  15.         for(int i = 0; i < posloupnost.length; i++) {
  16.             posloupnost[i] = rnd.nextInt(MIN, MAX+1);
  17.         }
  18.        
  19.         return posloupnost;
  20.     }
  21.    
  22.     public static int hledejBinarne(int[] posloupnost, int prvek) {
  23.         int dolni = 0;
  24.         int horni = posloupnost.length-1;
  25.        
  26.         while(dolni <= horni){
  27.             int stred = (horni + dolni) / 2;
  28.             if(posloupnost[stred] == prvek) {
  29.                 return stred;
  30.             }
  31.             else if(prvek < posloupnost[stred]) {
  32.                 horni = stred - 1;
  33.             }
  34.             else { //posloupnost[stred] < prvek
  35.                 dolni = stred + 1;
  36.             }
  37.         }
  38.         return -1;
  39.     }
  40.    
  41.     public static void main(String[] args) {
  42.         int[] posloupnost = vygenerujPosloupnost();
  43.         Arrays.sort(posloupnost);
  44.         Random rnd = new Random();
  45.         int hledane = rnd.nextInt(MIN, MAX+1);
  46.        
  47.         System.out.println("Posloupnost: "+Arrays.toString(posloupnost));
  48.         System.out.println("Hledane cislo: "+ hledane);
  49.         System.out.println("Index(valstni): "+hledejBinarne(posloupnost, hledane));
  50.         System.out.println("Index(knihovna): "+Arrays.binarySearch(posloupnost, hledane));
  51.     }
  52.  
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement