Guest User

tragedia w trzech metodach

a guest
Oct 26th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.75 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Random;
  3. import java.util.Scanner;
  4.  
  5. public class Searching {
  6.  
  7.     public static void main(String[] args) {
  8.  
  9.         Random random = new Random();
  10.         int x = 0;
  11.  
  12.         int[] tabSearch = new int[20];
  13.  
  14.         generateRandoms(random, tabSearch);
  15.  
  16.  
  17.         System.out.println("wygenerowana:");
  18.         wypiszTablicę(tabSearch);
  19.         System.out.println("------------------------------");
  20.         Arrays.sort(tabSearch);
  21.         wypiszTablicę(tabSearch);
  22.         System.out.println("--------------------------------------");
  23.         System.out.println(search(tabSearch, 10));
  24.         System.out.println(binarySearch(tabSearch, 10, 0,19));
  25.  
  26. //        int[] binar = new int[]{10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 11, 12, 13, 14, 14, 532, 642};
  27. //
  28. //        System.out.println(binarySearch(binar, -1, 0, 16));
  29.  
  30.     }
  31.  
  32.     public static void wypiszTablicę(int[] tabSearch) {
  33.         for (int i: tabSearch) {
  34.             System.out.println(tabSearch[i]);
  35.         }
  36.     }
  37.  
  38.  
  39.     public static void generateRandoms(Random random, int[] tabSearch) {
  40.         for (int i = 0; i < tabSearch.length; i++) {
  41.             tabSearch[i] = random.nextInt(20);
  42.         }
  43.     }
  44.  
  45.     public static void pobierzTablice(int rozmiar) {
  46.         int[] nazwaTablicy = new int[rozmiar];
  47.  
  48.         Scanner in = new Scanner(System.in);
  49.  
  50.         for (int i = 0; i < nazwaTablicy.length; i++) {
  51.             nazwaTablicy[i] = in.nextInt();
  52.         }
  53.         wypiszTablicę(nazwaTablicy);
  54.     }
  55.  
  56.     public static int search(int[] tablica, int szukajLiczby) {
  57.  
  58.         int result = -1;
  59.         for (int i = 0; i < tablica.length; i++) {
  60.             if (tablica[i] == szukajLiczby) {
  61.                 result = i;
  62.                 break;
  63.             }
  64.         }
  65.         return result;
  66.     }
  67.  
  68. //    public static int searchWartownik(int[] tablica, int szukajLiczby) {
  69. //
  70. //        int result = -1;
  71. //        for (int i = 0; i < tablica.length; i++) {
  72. //            if (tablica[i] == szukajLiczby) {
  73. //                result = i;
  74. //                break;
  75. //            }
  76. //        }
  77. //        return result;
  78. //    }
  79.  
  80.     public static int binarySearch(int[] tablica, int szukajLiczby, int start, int stop) {
  81.         Arrays.sort(tablica);
  82.         int index = -1;
  83.  
  84.  
  85.         int srodek = stop-1 / 2;
  86.  
  87.  
  88.         if (start < 0 || stop < 0) {
  89.             return index ;
  90.         }
  91.  
  92.  
  93.         if (tablica[srodek] == szukajLiczby) {
  94.             index = srodek;
  95.         } else if (tablica[srodek] < szukajLiczby) {
  96.             index = binarySearch(tablica, szukajLiczby, srodek + 1, stop - 1);
  97.         } else  {
  98.             index = binarySearch(tablica, szukajLiczby, start, srodek - 1);
  99.         }
  100.         return index;
  101.     }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment