Главная страница
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.027 c
1-1130403423
VEZ
2005-10-27 12:57
2005.11.20
Иконки в TreeNode


2-1131189872
Kostafey
2005-11-05 14:24
2005.11.20
Программа то работает, то не работает на разных PC


3-1128938992
atruhin
2005-10-10 14:09
2005.11.20
Эффективность индекса


3-1128600013
Ascer
2005-10-06 16:00
2005.11.20
Выбор из справочника


2-1130440338
KaTH
2005-10-27 23:12
2005.11.20
массивы в делфи