Форум программистов, компьютерный форум CyberForum.ru

Удалить из множества - C++

Восстановить пароль Регистрация
 
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
26.06.2013, 19:45     Удалить из множества #1
Добрый вечер. Столкнулся с таким вопросом. Как удалить объекты, которые динамически выделялись в процессе программы, если к примеру они находятся в мультимножестве.
Если это будет вектор или скажем лист, то можно с помощью методов их back, pop_back к листу можно и front применить. А как быть в таком случае с множеством/мультимножеством ? Каким образом можно добраться до значений и deleteтнуть их ?

Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    std::multiset<int*, std::greater<int*> > multset;
    int* i1 = new int(7);
    int* i2 = new int(10);
    int* i3 = new int(3);
 
    multset.insert(i1);
    multset.insert(i2);
    multset.insert(i3);
 
   // delete ?
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 19:45     Удалить из множества
Посмотрите здесь:

Множества. Проверка множества на наличие элемента в нем C++
Множества. Вычислить количество элементов множества Q, связанного c исходными множествами C++
C++ Из множества отрезков плоскости удалить вертикальные (динамические структуры данных)
C++ Удалить из множества А минимальный элемент множества В
C++ Число изъять из множества А, если оно является элементом множества А, но не является элементом множества В
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
26.06.2013, 19:56     Удалить из множества #2
ответ

запомни этот сайт он тебе пригодится ещё

а ещё вот этот
SatanaXIII
27.06.2013, 09:41
  #3

Не по теме:

@el_gato_de_Ch, ознакомьтесь пожалуйста с дельным наблюдением по оформлению постов.

Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
27.06.2013, 22:28     Удалить из множества #4
@IvanInanovich, multset.erase(multset.find(i2)); //O(logN)
Yandex
Объявления
27.06.2013, 22:28     Удалить из множества
Ответ Создать тему
Опции темы

Текущее время: 04:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru