numer pola tablicy

0

Witam!!

Wiem, że może to banalne pytanie, ale głowię się i głowię... i nic nie mogę wykombinować..

Jak można (jeśli w ogóle można) pobrać numer tablicy X-elementowej, znając wartość kryjącą się pod tym numerem??

PZDR:
SurfiX

0

Najprościej, ale i najwolniej, tablica nie musi być posortowana :

for i := 0 to Tablica.High do begin
    if tablica[i] = WartoscZadana then showmessage('Numer elementu : '+inttostr(i));
end;

Gdy tablica jest posortowana, możesz przeszukiwać elementy w następującej kolejności :

  • element u numerze i := Tablica.Hight dov 2;
  • jeżeli ten element jest większy od zadanego, to sprawdzasz i := i - (i div 2)
  • jeżeli jest mniejszy, to sprawdzasz element i := i + (i div 2);

i tak dalej.

To się nawet jakoś fachowo nazywało, ale nie pamiętam już jak...

/* Wyszukiwanie binarne - przyp. red. ;) */

0

for i := 0 to Tablica.High do begin

A nie powinno być: high(tablica)?

1 użytkowników online, w tym zalogowanych: 0, gości: 1