Entwickler-Ecke

Algorithmen, Optimierung und Assembler - binäre suche problem


h0lla - Do 30.08.07 16:22
Titel: binäre suche problem
Hallo
Hab ein problem bei binärer suche
das programm findet entweder die zahl oder stürzt ab (auch wenn sie vorhanden ist)


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
function tSearchnSort.binaerSearch(searchValue: longint): boolean;
var l,r,m: longint;
begin
l:=1;
r:=n;
m:= (l+r) div 2;

  while (l<=r) and (searchValue<>self.SnsArray[m]) do
  begin
    if self.SnsArray[n]<searchValue
    then l:=m+1
    else r:=m-1;

  m:=(l+r) div 2;
  end;
if searchValue=self.SnsArray[m]
then result:=true
else result:=false

end;


Horst_H - Do 30.08.07 19:04

Hallo,

ist es vielleicht nur ein Tippfehler ?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
while (l<=r) and (searchValue<>self.SnsArray[m]) do
    begin
                    v// wie wäre m statt n ??????
    if self.SnsArray[n]<searchValue  then
                    ^
       l:=m+1
    else
       r:=m-1;
    m:=(l+r) div 2;
    end;



Gruß Horst


h0lla - Do 30.08.07 21:51

wusste dass es nur son kleiner mist ist -.-
danke läuft so super ;)