'Primer 12e: binarna pretraga (sortiranog) niza 'u sortiranom nizu dimenzije n trazimo element x 'vrednost funkcije je True akko je element x pronadjen u nizu Function binarnaPretraga(niz() As Integer, ByVal n As Integer, x As Integer) As Boolean Dim poc As Integer Dim kraj As Integer Dim indeks As Integer Dim nadjen As Boolean nadjen = False poc = 1 kraj = n While (poc <= kraj) And (Not nadjen) indeks = (poc + kraj) \ 2 'Celobrojno deljenje If niz(indeks) = x Then nadjen = True ElseIf niz(indeks) < x Then poc = indeks + 1 Else 'niz(indeks) > x kraj = indeks - 1 End If Wend binarnaPretraga = nadjen End Function Function binPretragaRekurzivno(niz() As Integer, vrednost As Integer, donjaGranica As Integer, gornjaGranica As Integer) As Integer Dim srednji As Integer If gornjaGranica < donjaGranica Then binPretragaRekurzivno = -1 'nije pronadjen Else ' donjaGranica + ((gornjaGranica - donjaGranica) \ 2) srednji = (donjaGranica + gornjaGranica) \ 2 If niz(srednji) > vrednost Then binPretragaRekurzivno = binPretragaRekurzivno(niz, vrednost, donjaGranica, srednji - 1) ElseIf niz(srednji) < vrednost Then binPretragaRekurzivno = binPretragaRekurzivno(niz, vrednost, srednji + 1, gornjaGranica) Else binPretragaRekurzivno = srednji 'pronadjen End If End If End Function