![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
nadge |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 12.11.2004 Репутация: нет Всего: 1 |
Имеется некоторое "дерево" (по большей части как модель для QTreeView, что определяет некоторые требования):
Нам нужно получать ноду по ID, по ID родителя (pid) и по комбинации pid и позиции (pos) среди братьев (первый и третий ключи обязаны быть уникальными, хотя сами ключи можно поменять - важна лишь возможность однозначного поиска ноды). С этим проблем нет, но вставка в середину вынуждает обновлять позиции всех последующих элементов, что (потенциально) занимает много времени:
Хотелось бы делать это средствами самого контейнера и за константное время. Возможно ли? Ну или хотя бы приблизиться к этому. Это сообщение отредактировал(а) nadge - 1.4.2013, 00:36 |
||||
|
|||||
nadge |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 12.11.2004 Репутация: нет Всего: 1 |
Судя по количеству просмотров и отсутствию ответов, способа нет? ОК, а допустим просто изменить алгоритм или структуру контейнера для ускорения вставки?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |