Вниз
Скачать: CL | DM;

Списки   Найти похожие ветки 

 
Floopyman   (2009-10-02 12:44) [0]

Написать программу, которая обменивается элементами между двумя списками по нажатию кнопки. Для обмена надо зарезервировать два региона, передать им память и записать в память выделенные элементы из списков. Удалить выделенные элементы из списков. Затем обменяться указателями, и вывести элементы.
Как это сделать?


 
Юрий Зотов ©   (2009-10-02 12:49) [1]

Как сделать - например, так, как Вы сами и написали. А для конкретного ответа нужно точно знать, что представляют собой элементы списков.


 
Floopyman   (2009-10-02 12:56) [2]

Со списками я вроде раборался. Как работать с памятью?
Выделил память через VirtualAlloc, передал память через этуже функцию. Как записать в память элемент списка?


 
Юрий Зотов ©   (2009-10-02 13:03) [3]

> Как работать с памятью?

GetMem/FreeMem или New/Dispose.

> Как записать в память элемент списка?

Если элемент списка не содержит указателей (в том числе объектов,  длинных, строк, динамических массивов и т.п.), то можно использовать CopyMemory. Если содержит - то сложнее. Нужно знать, что есть элемент списка.

Но возможно, что ничего этого и не нужно делать. Если списки содержат указатели на элементы, то надо обменяться только указателями, не трогая ни память, ни сами элементы в ней.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
2-1254224323
VladOfMonster
2009-09-29 15:38
2009.11.15
Двойная буферизация


2-1254316587
@!!ex
2009-09-30 17:16
2009.11.15
Как задать тип элемента переданного в array of const


2-1254463160
mfender
2009-10-02 09:59
2009.11.15
Какая-то чуднАя ошибка в Application.CreateForm


1-1224595590
dmitry_12_08_73
2008-10-21 17:26
2009.11.15
Неприятные последствия команды винды "Свернуть все окна"


15-1252960212
Юрий
2009-09-15 00:30
2009.11.15
С днем рождения ! 15 сентября 2009 вторник




   Наверх