Ocena użytkownikóww: ***** / 4
Nadesłany przez Tomasz Lubiński, 04 września 2009 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Szukanie polowkowe - Java/Szukanie_polowkowe.java:
//Szukanie polowkowe (binarne)
//uwaga: elementy tablicy w Javie numerowane sa od 0
// zatem nasza tablica ma indeksy od 0 do n-1
// a[0], a[1], ..., a[n-1]
//(c) 2009 by Tomasz Lubinski
//www.algorytm.org
public class Szukanie_polowkowe {
private static int a[];
/**
* @param args
*/
public static void main(String[] args) {
int l, p, s, n, x;
//pobierz dane od uzytkownika
System.out.println("Podaj liczbe elementow tablicy");
n = Console.readInt("");
a = new int[n];
for (int i=0; i<n; i++) {
System.out.println("Podaj element a[" + i +"]");
a[i] = Console.readInt("");
}
System.out.println("Podaj element do wyszukania");
x = Console.readInt("");
//szukaj elementu x
l = 0;
p = n - 1;
while (l <= p) {
s = (l + p) / 2;
if (a[s] == x) {
//podaj wynik
System.out.println("Odnaleziono element "+x+" pod indeksem "+s);
//zakoncz program
return;
}
if (a[s] < x)
l = s + 1;
else
p = s - 1;
}
//podaj wynik
System.out.println("Nie odnaleziono w tablicy elementu " + x);
}
}