Официальный сайт студ.городка НГТУ
Программирование и БД » [Delphi] Что лучше использовать: списки или динамические массивы? 

#1  18.03.08 23:15

[Delphi] Что лучше использовать: списки или динамические массивы?

В общем проблема вот в чем. В программе используются списки. Приходится решать большие задачи и памяти порой не хватает, решили что проблема из-за использования списков и что нужно их заменить на динамические массивы. Действительно ли на списки тратится больше памяти чем на диамические массивы или нет смысла их менять?

Offline

#2  19.03.08 00:03

Re: [Delphi] Что лучше использовать: списки или динамические массивы?

Вообще говоря, да, списки занимают в памяти больше места, чем массивы.
Если ты в списки хранишь целые числа (в винде 4 байта), то затраты на хранения одного элемент увеличиваются (+4 байта для односвязного списка или +8 байт для двухсвязного списка). То есть, например, в случае 2-го списка затраты на хранение элемента в 2 раза превосходят хранимую информацию. Совсем другое дело если в списке у тебя хранятся крупные (в плане занимаемой памяти) структуры/объекты классов, для этого случая затраты памяти на обслуживание будут незначительны по сравнению с хранимой информацией.
Так же не стоит забывать, что у списков есть некоторые преимущества по сравнению с массивами. Например, если у тебя происходит частое удаление элементов или вставка куда-нибудь в средину, то в случае списка у тебя эти операции будут происходить гораздо быстрее, чем в массиве.
Мораль сей басни такова: за всё в этой жизни приходится платить =)))

Offline

#3  19.03.08 08:44

Re: [Delphi] Что лучше использовать: списки или динамические массивы?

Спасибо за ответ:)

Offline

#4  19.03.08 13:06

Re: [Delphi] Что лучше использовать: списки или динамические массивы?

для хранения объектов используй TList

Offline

Программирование и БД » [Delphi] Что лучше использовать: списки или динамические массивы? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.059 сек.
Выполнено 14 запросов.