|
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225
|
|
Проход по контейнеру и получение последнего активного значения19.02.2024, 14:37. Показов 1641. Ответов 28
Всем привет.
Есть лист структуры, каждая структура это значение и булево значение активности. Все структуры находятся в строгом порядке, то есть 1,2,3,4,5. Не может быть такого чтобы была ситуация 1,2,5,4,3. Активными могут быть минимум 0 а максимум например 5, и нужно узнать какой последний. Количество активных может меняться постоянно, а значит нужен постоянный проход. Вопрос, как можно такой алгоритм поиска осуществить чтобы быстро находить последний? Иметь дополнительно под каждую структуру еще флаг? Посоветуйте пожалуйста.
0
|
|
| 19.02.2024, 14:37 | |
|
Ответы с готовыми решениями:
28
Проход по какому-либо контейнеру
|
|
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225
|
||
| 27.02.2024, 19:49 [ТС] | ||
|
В методе вызывается в бесконечном цикле прилетает аргумент, в нем есть лист со структурой, главное в нем для меня это 2 поля, число и активность. Данный аргумент в метод передается уже в возможном измененом виде, то есть что-то будет активно, какие то значения могут остатся не активными. Привожу пример вариантов, каждая сторона будет как новая итерация и только активности. 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 Как видите состояние активности меняется по разному. и для моей задачи надо знать какой по индексу был последним активный, и по индексу я потом я образаюсь за другйо информацией, в частности за числом. Вариант с переворачиванием данного листа, получение того кто оказывается в перевернутом самым первым, сохранение его индекса но в нормальнмо виде, мне показалось хорошим вариантом. Сразу скажу, я ничего в лист добавлять не могу, я могу только читать то что в нем есть и реагировать на результаты.
0
|
||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 27.02.2024, 20:02 | |
|
SektorCT, обьясни на этом примере, вот ты перевернул список, и взял первый элемент (а почему нельзя взять последний элемент исходного списка, нах его переворачивать то?) и почему ты считаешь, что этот элемент будет тем последним, который изменился? я честно не догоняю...
Добавлено через 3 минуты вот у тебя некий массив, 1,2,3,4,5 поменялся 2-й элемент ты взял последний 5й (или перевернул 5,4,3,2,1 и взял 1й который в исходном виде 5й) но это ниразу не тот элемент, который менялся или я чего-то не понимаю?
0
|
|
|
фрилансер
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,289
|
|
| 27.02.2024, 20:08 | |
|
sdf45, а я из этого потока сознания вообще ничего не понял
![]() какой-то лист, какая-то активность ТЗ - хз Добавлено через 53 секунды SektorCT, давай без абстракций, просто расскажи, в чём задача заключается
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 27.02.2024, 20:15 | |
|
Алексей1153, я (хз правильно или нет) понял так, что на входе есть некий вектор, элементами которого является структура вида struct{int value, bool status}, и status может меняться в каждой итерации получения этого вектора. И вот ТСу надо найти тот элемент вектора, в котором этот самый status изменился последним. То есть там где-то меняется скажем 2й, 8й, 3й элемент именно в таком порядке, и ему нужен последний -3й, откуда надо брать value
0
|
|
|
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225
|
||
| 27.02.2024, 20:37 [ТС] | ||
|
Зная индекс того статуса кто стал на данной итерации последним я моуг узнать к какому числу он относится. Но всегда важно знать именно кто из статусов стал активным последний.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 27.02.2024, 21:30 | |
|
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 27.02.2024, 21:45 | |
|
SektorCT, лично мое мнение:
Если в приходящем векторе меняется не один, а несколько элементов, и никак нельзя изменить формат входящих данных, то никак нельзя узнать хронологию этих изменений, если она не приходит от меняющей стороны. Даже сохраняя копию или некое состояние предидущего значения. Во всяком случае, я таких способов не знаю. Насколько я понимаю, тут либо обновлять состояние полностью на каждой итерации изменений, либо сохранять предидущее состояние и обрабатывать только то, что изменилось. Если не ошибаюсь, сабж связан с Qt QML(моделями), и по идее, не стоит париться- используемая модель все сделает сама.
0
|
|
|
2 / 2 / 0
Регистрация: 22.03.2022
Сообщений: 225
|
|
| 27.02.2024, 22:17 [ТС] | |
|
Всем спасибо, извиняюсь что может не очень хорошо смог обьяснить. Исходя из последнего сообщения решил оставить обычный проход по контейнеру, и когда получаю последний активный индекс его сохраняю.
Проходить буду всегда с начала и до конца.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 27.02.2024, 22:29 | |||
|
Добавлено через 1 минуту
0
|
|||
| 27.02.2024, 22:29 | |
|
Перемещение по контейнеру и получение значений Получение первого и пОследнего значения методом forEach Получение значения последнего элемента в поле ID списка List<> Получение активного окна
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|