бывает запоминается, а бывает нет.
@ua6em ввел новое понятие - “так запомнилось”.
поэтому че тут рассуждать и ловить его, окончание будет одно))
Это утверждал не я, Цешка это Ц-20, а АВО-63 это АВО-63, где у него в маркировке Ц?
Да вашу мамашу!
В кои-то веки полезная тема появилась, нет надо и тут срач про какие-то головки устроить…
я честно выполнил свою миссию, флуд зачистил как мог, … админ, зачисти пожалуйста остальной весь флуд
Ты слился, причем «как обычно».
Раньше было принято обобщать. Ну типа ксерокс не только Xerox. Так и цэшка была нарицательной. Лично для меня все стрелочники попадали под “цэшку”
вообщем, я записываю еще одну строчку в своем дневнике))
@Araris начиная с сообщения 112 и дальше можно все удалить
Администратор: Тема была случайно удалена и теперь восстановлена
Да, уж … породил я тут срач …
Ну, “вибачте хлопці”, видит Бог не хотел.
Как-то всегда считал, что синяя изолента может быть любого цвета, а ц-шка, она и в Африке ц-шка, что бы на ней не написали – это ведь давно уже не конкретные вещи, а великие идеи, сделавшие не одно поколение.
Вот правда, не хотел, простите.
Кстати, (хотя уже и непонятно, кстати ли) меня всё свербит про инициализацию структуры, которую я чуток поправил по сравнению с №85, но всё равно она мне не нравится. Реально свербит - прям “кушать не могу”. Напишу-ка я чем именно она мне не нравится и как бы я её родимую инициализировал. Типа вернём тему в техническое русло - делом извинюсь.
Раз пошла такая пьянка - налью подробностей. (Или повторю, не потускнеют, думаю)
Массив инструкций для оборудования. Одна строчка - одна инструкция.
Инструкции выполняются последовательно, согласно времени в timeFromStart
Последовательность обеспечивает эта же прога, посему предварительно сортирует массив по этому самому timeFromStart
Массив создаётся\редактируется оператором при помощи LCD и энкодера. Посему размер его плавает и сортировка и уточнение размера проводится после каждого редактирования.
Это я всё к чему - массив набивается значениями заранее только для тестирования. Потом оно качается из EEPROM до сигнальной строчки, означающей конец программы. И, после редактирования, туда же возвращается с новой длиной и данными.
Поэтому у меня объявлен изначально с запасом размер. А данные - дело наживное
Идеально для такой задачи - не массив, а связанный список. Достаточно отсортировать список один раз, и не надо будет сортировать массив после каждого изменения.
Для начальной сортировки можно использовать ту же функцию, что разобрана выше.
Спасибо! Пошёл курить связанные списки…
Настоящий связанный список надо писать через классы, но вы можете организовать упрощенный вариант с минимальными изменениями текущего кода. Просто добавьте в вашу структуру поле “следующая инструкция” куда записывайте номер элемента массива, который должен стоять после этого.
Понимаете идею?
То есть вместо того чтобы перемещать всю запись при сортировке - просто переписываете эти номерочки.
Чтобы понять идею, надо хоть понимать оП чём речь))
Тема на гугл отзывается, вроде. Как сколько-то вникну - поделюсь впечатлением
Перехвалил гугл… Или переоценил свои способности пользоваться поиском.
Единственное, сколько-то подробное описание никак не соответствует доступной библиотеке ( Queue-1.11.0). И наоборот. Кейворд - обнадёживает, но понятнее не делает.
Рано или поздно я, конечно, препарирую сорцы библиотеки, но, видимо, не в этой версии проекта… А то там ещё много всего и сейчас задача запустить первоначальное тестирование, пока хотя бы для уточнения задания.
Посему, если подскажете, где почитать предметно и по теме, буду очень благодарен.
Если хотите понять, что такое список, забудьте вообще слово “библиотека”. Пока не разберетесь, вообще не заглядывайте ни в одну библиотеку. А после того, как разберетесь, тоже никуда не заглядывайте - пишите сами. Ничего сложного там нет. Поверьте, написать самому по времени будет быстрее, чем разбираться в чужом коде.
Думаю, для самостоятельной реализации списка вполне достаточно Википедии.
Если честно, вообще не понял, о чем вы
Мне кажется, вы переоценили мое предложение.
Я всего лишь посоветовал добавить в ваш массив еще одно цифровое поле - в котором будет лежать номер следующей по счету инструкции.
Это все. Тут нет никакой высшей математики.
Да, действительно не понял я. В данный момент система работает с имеющимся набором. В чём смысл добавки? Вместо сортировки менять номер строки? А потом выводить в порядке этих номеров? Это точно проще будет?
да, но номер не этой строки, а номер СЛЕДУЮЩЕЙ за ней строки. Это ключевое.
Тогда вам вообще не нужно их сортировать, просто идете от одной к другой по этим номерам.
Почитайте любую статью про связанный список, самую общую. Как только поймете генеральную идею - все остальное станет ясно.
Сорри, я не умею обьяснять.