Просмотр полной версии : Удаление элемента в массиве
Александр2023
23.06.2023, 23:52
Здравствуйте, поскажите как удалить элемент в массиве? Codesys 3.5
Если в общем виде - то так же, как и в любом другом языке программирования: в цикле скопировать СЛЕДУЮЩИЕ элементы со сдвигом на место удалённого.
В одном из своих проектов (у меня там было накопление данных и вычисление среднего) я сделал удобнее для себя: у меня был массив структур, в которых были и данные и BOOL-поле "Valid" (данные верные). И вместо удаления данных я выставлял Valid = FALSE, и не обрабатывал эти данные.
из массива без телодвижений копирования удалять никак, вроде ни в одном языке.
а есть в ST аналоги List или Dictionary ?
... есть в ST аналоги List или Dictionary ?
Сложно сделать ?
из массива без телодвижений копирования
Список перебрать придется. Чудес не бывает.
Если задача критичная ко времени - то только оптимизация и/или гибридизация массивов/списков под конкретную задачу.
Валенок зная список, из него можно удалять по индексу, зачем перебирать?
melky, чистый список не предполагает индексации, только цепочка указателей. Или гибрид?
Валенок я про List в языках программирования, там можно удалить ячейку по индексу, в ST так понимаю аналога нет.
Melky"там можно удалить ячейку по индексу,"
Там внизу сдвиг массива и/или перебор указателей. А всякие property именуемые "index" иногда несколько тяжелые функции.
в ST так понимаю аналога нет.
Нет. Но так же нет никаких проблем сделать список если какой-то алгоритм удобней именно со списком.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot