Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Массив структур   Найти похожие ветки 

 
Максим   (2005-10-27 20:01) [0]

Как наиболее эффективно произвести поиск необходимого значения в массиве структур

type
 TPC = record
   Param1: string[20];
   Param2:shortint;
end;

pc:array [1..100] of TPC



т.е. необходимо найти индекс элемента где Param1="Max"

Может есть специальная функция которая возвращает номер элемента? Или всетаки придется просматривать в цикле.


 
Eraser ©   (2005-10-27 20:03) [1]


> Максим   (27.10.05 20:01)

Прийдётся просматривать в цикле. Но цикл циклу рознь. Оптимальнее всего искать одновременно с начала и с конца массива.


 
MBo ©   (2005-10-27 20:40) [2]

>Максим  
чтобы эффективно вести поиск, массив стоит отсортировать по нужному ключу, в данном случае  - по Param1

>Eraser
>Оптимальнее всего искать одновременно с начала и с конца массива.
Как мотивируешь?


 
MBo ©   (2005-10-27 20:40) [3]

Удалено модератором


 
MBo ©   (2005-10-27 20:41) [4]

Удалено модератором


 
Eraser ©   (2005-10-27 20:49) [5]


> MBo ©   (27.10.05 20:40) [2]


> чтобы эффективно вести поиск, массив стоит отсортировать
> по нужному ключу

Это да, но очень бывает что нельзя менять последовательность элиментов.

> Как мотивируешь?

Согласен, [1] это из другой оперы, это я напутал.


 
Максим   (2005-10-27 21:18) [6]

а с чем будет работать более правильнее с массивом объектов или с массивом записией:

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


 
Джо ©   (2005-10-28 05:18) [7]

Вот такой класс вообще не имеет права на жизнь (за редкими исключениями):

> TPC = class
>   Param1: string[20];
>   Param2:shortint;
> end;

Класс - это, все-таки, инкапсуляции данных и методов работы с ними. А тут типичная структура данных.



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.04 c
6-1119595946
Progh
2005-06-24 10:52
2005.11.20
Работа через прокси idSMTP (Indy 10)


8-1120036039
Ш-К
2005-06-29 13:07
2005.11.20
О свойстве ScanLine


14-1130338041
Starcom
2005-10-26 18:47
2005.11.20
Variant Asynh for D7


14-1130588683
Sergey_R
2005-10-29 16:24
2005.11.20
ArrauGrid for Delphi7


4-1127139094
!Trinix
2005-09-19 18:11
2005.11.20
Видео режимы