![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
JSinx |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 12.12.2006 Репутация: нет Всего: 1 |
Пишу программку, которая в процессе работы все время добавляет и удаляет данные из массива (массив типа запись). В связи с этим поступило предложение не удалять данные из массива, а сделать флаг - что запись удалена. При добавлении новой записи, в первую очередь замещать такие записи и только затем создавать новые. Как будет оптимальней сделать?
|
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
Именно массив принципиален или это просто способ хранения большого количества однородной информации? Если второе, то, возможно, проще сделать список. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Или базу
|
|||
|
||||
JSinx |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 12.12.2006 Репутация: нет Всего: 1 |
||||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Для скорости работы алгоритма лучше первое. Выделять и отпускать память по 20-30 раз в секунду - затратно. Быстрее будет помечать.
Для красоты и понимания кода, а так же для простоты его дальнейшей поддержки - второе. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
RomanEEP |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: 5 Всего: 8 |
Делайте списком объектом. Выделения динамической памяти очень быстрое за счет того, что там точно также помечается флагом куски памяти как свободные/занятые.
Оптимизировать самому имеет смысл только если кол-во создаваемых объектов составляют не менее 50.000 - 100.000 в секунду. Тормоза могут быть при вставке/удалении элементов из начала большого списка. Тогда, если-кол-во элементов в массиве превышает 1000 имеет смысл использовать одно- или дву-связный список |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |