ПОИСК В МАССИВЕ DELPHI
Поиск в массиве является одной из наиболее распространенных операций в программировании на Delphi. Для поиска значения в массиве можно использовать различные алгоритмы, такие как линейный поиск, бинарный поиск или интерполяционный поиск.
Линейный поиск является самым простым алгоритмом поиска, заключающимся в последовательном переборе элементов массива до тех пор, пока не будет найдено искомое значение.
for i := 0 to Length(array) - 1 do
begin
if array[i] = value then
begin
Result := i;
Break;
end;
end;
Бинарный поиск является более эффективным алгоритмом поиска, предназначенным для работы с отсортированными массивами. Алгоритм заключается в поиске значения путем разделения массива на две части и последующем поиске значения в нужной половине. Этот процесс повторяется до тех пор, пока искомое значение не будет найдено.
low := 0;
high := Length(array) - 1;
while low <= high do
begin
middle := (low + high) div 2;
if array[middle] = value then
begin
Result := middle;
Exit;
end
else if array[middle] > value then high := middle - 1
else low := middle + 1;
end;
Интерполяционный поиск является более сложным алгоритмом поиска, который использует формулу интерполяции для быстрого поиска значения в отсортированном массиве.
low := 0;
high := Length(array) - 1;
while (low <= high) and (value >= array[low]) and (value <= array[high]) do
begin
pos := low + Trunc(((value - array[low]) / (array[high] - array[low])) * (high - low));
if array[pos] = value then
begin
Result := pos;
Exit;
end
else if array[pos] < value then low := pos + 1
else high := pos - 1;
end;
Уроки программирования в делфи 11,6 поиск суммы положительных элементов массива
Программирование в Delphi Урок 5. Массивы и циклы, цикл for, глобальные переменные. Array
Delphi -Search for something in an array
#6 Программирование в Delphi. Массивы
Searching an Array - Delphi Tutorial (Part 41)
Уроки программирования в делфи 11,3 поиск максимального и минимального элемента в массиве