Ocena użytkownikóww: ***** / 2
Nadesłany przez Dominik Goździuk, 05 marca 2012 23:29
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_js.html:
<!--
Dominik Goździuk
Szukanie połówkowe
www.algorytm.org
-->
<html>
<body>
<script type="text/javascript">
var tab = new Array(45,24,56,43,78,67,25,7,58,95,69,49,32,1);
document.write("Tablica: ");
sortuj(tab);
//Wyświetlenie tablicy
for (zmienna in tab) {
document.write(tab[zmienna] + ", ");
}
// Funkcja sortująca tablicę
function sortuj(tab) {
for (i = 0; i < tab.length; i++) {
min = i+1;
for (j = i+1; j < tab.length; j++) {
if (tab[min] > tab[j]) {
min = j;
}
}
if (tab[min] < tab[i]) {
tmp = tab[i];
tab[i] = tab[min];
tab[min] = tmp;
}
}
}
function szukaj() {
//Pobranie liczby podanej przez uzytkownika
var szukana = document.forms['formularz'].liczba.value;
var p = 0; //indeks pierwszego elementu tablicy
var k = tab.length-1; //indeks ostatniego elementu tablicy
while (p <= k) {
s = Math.floor((p+k)/2); // zaokrągalmy liczbę aby dostać część całkowitą
if (tab[s] == szukana) {
alert("Podana liczba znajduje sie w tablicy");
return false;
}
if (tab[s] > szukana) {
k = s-1;
}
else {
p = s+1;
}
}
alert("Podana liczba nie znajduje sie w tablicy");
return false;
}
</script>
<form id="formularz" action="">
<br />Podaj szukaną liczbę: <input type="text" name="liczba" />
<button onclick="return szukaj()">Szukaj</button>
</form>
</body>
</html>