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

Как нетопорно удалить элемент <b>динамического массива</b>   Найти похожие ветки 

 
garyboy   (2002-10-12 18:37) [0]

Как не топорным способом удалить элемент динамического массива
Топорный т.е. сместить часть массива ,справа от него лежащую , на его место Вроде не топорно объяснил:) Буду очень благодарен , если кто подскажет и пришлет еще какие нибудь интересные сведения о работе с Динамическими массивами


 
Anatoly Podgoretsky ©   (2002-10-12 18:54) [1]

Для удаления чего либо из середины протяженных объектов, используется следующий метод, сначала хвост смещается в позицию удалемого элемента (тов) затем хвост отрубается


 
Anatoly P   (2002-10-12 18:55) [2]

Он это назвал топорным способом


 
Anatoly Podgoretsky ©   (2002-10-12 19:02) [3]

Предложи, тот который, не топорный по твоему мнению


 
Anatoly P   (2002-10-12 19:07) [4]

Хотел бы узнать, но пока пользуюсь именно этим способом.


 
Юрий Зотов ©   (2002-10-12 23:13) [5]

MoveMemory + SetLength.

Не знаю, топорно это или нет, но укладывается в две простые строчки. И по скорости, думаю, вариант тоже не самый худший. В целом же, если сравнивать по соотношению простота-эффективность, то не исключено, что даже лучший.


 
Anatoly P   (2002-10-12 23:20) [6]

Вспомнил - еще можно удаляемый элемент поменять местами с последним и укоротить массив на 1 (т.е. SetLength)


 
Юрий Зотов ©   (2002-10-12 23:38) [7]

> Anatoly P (12.10.02 23:20)

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


 
Anatoly Podgoretsky ©   (2002-10-12 23:41) [8]

Как ни крути ничего не топорно для протяженных объектов не придумано, только смещение и отрубание



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

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



Память: 0.46 MB
Время: 0.012 c
1-78331
id_privin
2002-10-11 18:29
2002.10.24
Вопрос продвинутым мастерам ...


14-78610
Игорь
2002-09-26 15:50
2002.10.24
Delphi 7?


1-78369
sascha
2002-10-15 07:17
2002.10.24
Поясните код.


8-78543
пена
2002-06-24 17:26
2002.10.24
Как заставить MediaPlayer проигрывать в fullscreen режиме


3-78206
Termik
2002-10-03 11:15
2002.10.24
Shared memory realm does not exists




   Наверх