ПОИСК В МАССИВЕ 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 поиск максимального и минимального элемента в массиве

Реклама
Новое
Реклама