Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
Максим   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.045 c
2-1131023423
Dmitrij_K
2005-11-03 16:10
2005.11.20
Странный вопрос!


14-1130658164
SPeller
2005-10-30 10:42
2005.11.20
Бред?


6-1123247910
debuger
2005-08-05 17:18
2005.11.20
Использование подключения


1-1130676546
Draught
2005-10-30 15:49
2005.11.20
Замена Memo на что либо более подходящее


14-1130501973
NiGGa
2005-10-28 16:19
2005.11.20
Компонента графика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский