Подтвердить что ты не робот

Доступ к элементу в наборе?

С помощью вектора я могу сделать следующее:

vector<int> myvec (4,100);
int first = myvec.at(0);

У меня есть следующий набор:

set<int> myset;
myset.insert(100);
int setint = ????

Как я могу получить доступ к элементу, который я вставил в набор?

4b9b3361

Ответ 1

set<int>::iterator iter = myset.find(100);
if (iter != myset.end())
{
    int setint = *iter;
}

Ответ 2

Вы не можете получить доступ к элементам набора по индексу. Вы должны получить доступ к элементам с помощью итератора.

set<int> myset;
myset.insert(100);
int setint = *myset.begin();

Если нужный элемент не первый, переместите итератор в этот элемент. Вы можете посмотреть в наборе, чтобы увидеть, существует ли элемент, используя set<>::find(), или вы можете выполнить итерацию по набору, чтобы увидеть, какие элементы существуют.

Ответ 3

Вы также можете использовать этот подход:

 set<int>:: iterator it;
 for( it = s.begin(); it!=s.end(); ++it){
    int ans = *it;
    cout << ans << endl;
 }