#1 18.03.08 23:15
[Delphi] Что лучше использовать: списки или динамические массивы?
В общем проблема вот в чем. В программе используются списки. Приходится решать большие задачи и памяти порой не хватает, решили что проблема из-за использования списков и что нужно их заменить на динамические массивы. Действительно ли на списки тратится больше памяти чем на диамические массивы или нет смысла их менять?
Offline
#2 19.03.08 00:03
Re: [Delphi] Что лучше использовать: списки или динамические массивы?
Вообще говоря, да, списки занимают в памяти больше места, чем массивы.
Если ты в списки хранишь целые числа (в винде 4 байта), то затраты на хранения одного элемент увеличиваются (+4 байта для односвязного списка или +8 байт для двухсвязного списка). То есть, например, в случае 2-го списка затраты на хранение элемента в 2 раза превосходят хранимую информацию. Совсем другое дело если в списке у тебя хранятся крупные (в плане занимаемой памяти) структуры/объекты классов, для этого случая затраты памяти на обслуживание будут незначительны по сравнению с хранимой информацией.
Так же не стоит забывать, что у списков есть некоторые преимущества по сравнению с массивами. Например, если у тебя происходит частое удаление элементов или вставка куда-нибудь в средину, то в случае списка у тебя эти операции будут происходить гораздо быстрее, чем в массиве.
Мораль сей басни такова: за всё в этой жизни приходится платить =)))
Offline

