![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массив структур
Максим © (2005-10-27 20:01:00)Как наиболее эффективно произвести поиск необходимого значения в массиве структур
type
TPC = record
Param1: string[20];
Param2:shortint;
end;
pc:array [1..100] of TPC
т.е. необходимо найти индекс элемента где Param1='Max'
Может есть специальная функция которая возвращает номер элемента? Или всетаки придется просматривать в цикле.
Джо (2005-10-28 05:18:00) [1]Вот такой класс вообще не имеет права на жизнь (за редкими исключениями):
> TPC = class
> Param1: string[20];
> Param2:shortint;
> end;
Класс - это, все-таки, инкапсуляции данных и методов работы с ними. А тут типичная структура данных.
Максим (2005-10-27 21:18:00) [2]а с чем будет работать более правильнее с массивом объектов или с массивом записией:
type
TPC = record
Param1: string[20];
Param2:shortint;
end;
pc:array [1..100] of TPC
или
type
TPC = class
Param1: string[20];
Param2:shortint;
end;
pc:array [1..100] of TPC
Eraser (2005-10-27 20:49:00) [3]
> MBo © (27.10.05 20:40) [2]
> чтобы эффективно вести поиск, массив стоит отсортировать
> по нужному ключу
Это да, но очень бывает что нельзя менять последовательность элиментов.
> Как мотивируешь?
Согласен, [1] это из другой оперы, это я напутал.
MBo (2005-10-27 20:41:00) [4]Удалено модератором
MBo (2005-10-27 20:40:00) [5]>Максим
чтобы эффективно вести поиск, массив стоит отсортировать по нужному ключу, в данном случае - по Param1
>Eraser
>Оптимальнее всего искать одновременно с начала и с конца массива.
Как мотивируешь?
MBo (2005-10-27 20:40:00) [6]Удалено модератором
Eraser (2005-10-27 20:03:00) [7]
> Максим (27.10.05 20:01)
Прийдётся просматривать в цикле. Но цикл циклу рознь. Оптимальнее всего искать одновременно с начала и с конца массива.