|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|||||||||||
Изменение контейнера во время итерационного перебора11.09.2016, 21:20. Показов 4553. Ответов 100
Метки нет (Все метки)
Добрый вечер,
Update как-то запушить в cont - то итератор не валиден по понятным причинам, как и ++it. Пришлось извращаться:
0
|
|||||||||||
| 11.09.2016, 21:20 | |
|
Ответы с готовыми решениями:
100
Время выполнения рекурсивного и итерационного алгоритма быстрой сортировки Определить время перебора всех паролей с параметрами Посчитать время полного перебора всех паролей |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 11.09.2016, 21:43 | |
|
Ну если тут просто удаление то можно просто идти в реверсном направлении. Т.е. с конца к началу. Тогда при удалении порядок обхода не изменяется.
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 11.09.2016, 21:50 | |
Сообщение было отмечено rikimaru2013 как решение
Решение
rikimaru2013 При этом если это вектор и в процессе кроме удаления есть добавления пользовать не итераторы а индексы. Они остаются валидными при реаллоке.,
1
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 11.09.2016, 22:24 [ТС] | |
|
Там же Add/push - то есть реалок вектора в худчем случаи, в лучшем всё ок)
Добавлено через 2 минуты Fulcrum_013, вместо (*it) использовать cont[i] повсюду?
0
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||
| 11.09.2016, 22:27 | |||
![]()
0
|
|||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 11.09.2016, 22:38 [ТС] | ||
|
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||
| 11.09.2016, 23:00 | |||
|
Представь, что видишь код Update() впервые. Тебе сразу очевидно из кода, что делает цикл - а именно в каком состоянии будет контейнер после его выполнения? А теперь представь, что надо что-то зарефакторить. Насколько приятно это делать с твоим Update?
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 11.09.2016, 23:06 | ||||
|
Добавлено через 4 минуты
0
|
||||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||
| 11.09.2016, 23:24 | ||
|
2) расширенная версия : init+ invalidate + validate + update (с учетом зависимостей дитя-родитель), либо юзать умные указатели. 3) оставить костыль если этот код локальный.
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 11.09.2016, 23:25 | ||
Сообщение было отмечено rikimaru2013 как решение
Решениеесть два контейнера. один для новеньких. другой для стареньких. рабочий конвейер последовательно обновляет стареньких. дети не могут никак влиять на контейнер. они могут лишь возвращать собственный статус: "я активен", "я свободен", "я завершился", и тп. если апдейт приводит к рождению нового ребенка, то он добавляется в контейнер новеньких. потом, когда пробег по контейнеру стареньких завершается, родитель перемещает новеньких к стареньким.
1
|
||
| 11.09.2016, 23:25 [ТС] | |
|
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 11.09.2016, 23:26 | ||
|
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 11.09.2016, 23:26 [ТС] | |
|
hoggy, ну то бишь мой костыль и есть то о чём вы советуете:?
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 11.09.2016, 23:29 | |
|
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
| 11.09.2016, 23:30 [ТС] | ||||||
|
Fulcrum_013, кстати это работает только при гарантии add_only - ведь при обращению по индексу
0
|
||||||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||
| 11.09.2016, 23:33 | ||
1
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 11.09.2016, 23:33 [ТС] | ||
|
0
|
||
| 11.09.2016, 23:33 | |
|
Помогаю со студенческими работами здесь
20
Изменение z-index контейнера из выполняемого скрипта Удаление из контейнера элемента и изменение его размеров Изменение содержимого контейнера при переключении радиокнопки Изменение содержимого контейнера при переключении радиокнопки Изменение выравнивания при выходе текста за пределы контейнера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|