Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Random;
- import java.util.Scanner;
- public class Searching {
- public static void main(String[] args) {
- Random random = new Random();
- int x = 0;
- int[] tabSearch = new int[20];
- generateRandoms(random, tabSearch);
- System.out.println("wygenerowana:");
- wypiszTablicę(tabSearch);
- System.out.println("------------------------------");
- Arrays.sort(tabSearch);
- wypiszTablicę(tabSearch);
- System.out.println("--------------------------------------");
- System.out.println(search(tabSearch, 10));
- System.out.println(binarySearch(tabSearch, 10, 0,19));
- // int[] binar = new int[]{10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 11, 12, 13, 14, 14, 532, 642};
- //
- // System.out.println(binarySearch(binar, -1, 0, 16));
- }
- public static void wypiszTablicę(int[] tabSearch) {
- for (int i: tabSearch) {
- System.out.println(tabSearch[i]);
- }
- }
- public static void generateRandoms(Random random, int[] tabSearch) {
- for (int i = 0; i < tabSearch.length; i++) {
- tabSearch[i] = random.nextInt(20);
- }
- }
- public static void pobierzTablice(int rozmiar) {
- int[] nazwaTablicy = new int[rozmiar];
- Scanner in = new Scanner(System.in);
- for (int i = 0; i < nazwaTablicy.length; i++) {
- nazwaTablicy[i] = in.nextInt();
- }
- wypiszTablicę(nazwaTablicy);
- }
- public static int search(int[] tablica, int szukajLiczby) {
- int result = -1;
- for (int i = 0; i < tablica.length; i++) {
- if (tablica[i] == szukajLiczby) {
- result = i;
- break;
- }
- }
- return result;
- }
- // public static int searchWartownik(int[] tablica, int szukajLiczby) {
- //
- // int result = -1;
- // for (int i = 0; i < tablica.length; i++) {
- // if (tablica[i] == szukajLiczby) {
- // result = i;
- // break;
- // }
- // }
- // return result;
- // }
- public static int binarySearch(int[] tablica, int szukajLiczby, int start, int stop) {
- Arrays.sort(tablica);
- int index = -1;
- int srodek = stop-1 / 2;
- if (start < 0 || stop < 0) {
- return index ;
- }
- if (tablica[srodek] == szukajLiczby) {
- index = srodek;
- } else if (tablica[srodek] < szukajLiczby) {
- index = binarySearch(tablica, szukajLiczby, srodek + 1, stop - 1);
- } else {
- index = binarySearch(tablica, szukajLiczby, start, srodek - 1);
- }
- return index;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment