更新时间:2021-08-27 08:42:28
#include <iostream>
#include <set>
bool fncomp (int lhs, int rhs) {return lhs<rhs;}
struct classcomp {
bool operator() (const int& lhs, const int& rhs) const
{return lhs<rhs;}
};
int main ()
{
std::set<int> first; // int型空set集合
int myints[]= {10,20,30,40,50};
std::set<int> second (myints,myints+5); // 范围
std::set<int> third (second); // 复制second
std::set<int> fourth (second.begin(), second.end()); // iterator ctor.
std::set<int,classcomp> fifth; // 比较类
bool(*fn_pt)(int,int) = fncomp;
std::set<int,bool(*)(int,int)> sixth (fn_pt); // 比较函数指针
return 0;
}
set::size
:返回容器中的元素数量#include <iostream>
#include <set>
int main ()
{
std::set<int> myints;
std::cout << "0. size: " << myints.size() << '\n';
for (int i=0; i<10; ++i) myints.insert(i);
std::cout << "1. size: " << myints.size() << '\n';
myints.insert (100);
std::cout << "2. size: " << myints.size() << '\n';
myints.erase(5);
std::cout << "3. size: " << myints.size() << '\n';
return 0;
}
output:
0. size: 0
1. size: 10
2. size: 11
3. size: 10
set::empty
:判断容器中元素数量是否为空(空则返回1)set::begin
:返回指向容器第一个元素的指针(如果元素为空,则返回不能被引用的空指针),遵循特定的排序顺序set::end
:原则上返回容器假设的“最后一个值的指针”,但是其返回的指针并不能被引用,一般与begin搭配使用用来表示特定的范围#include <iostream>
#include <set>
int main ()
{
int myints[] = {75,23,65,42,13};
std::set<int> myset (myints,myints+5);
std::cout << "myset contains:";
for (std::set<int>::iterator it=myset.begin(); it!=myset.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
output:
myset contains: 13 23 42 65 75