set及其用法

头文件:

    #include<set>

     set  multiset

    set<int> s;

    set<double> ss;

基础操作:

s.begin() // 返回指向第⼀个元素的迭代器

s.clear() // 清除所有元素

s.empty() // 如果集合为空,返回true(真)

s.end() // 返回指向最后⼀个元素之后的迭代器,不是最后⼀个元素

s.erase() // 删除集合中的元素

s.find() // 返回⼀个指向被查找到元素的迭代器

s.insert() // 在集合中插⼊元素

s.lower_bound() // 返回指向⼤于(或等于)某值的第⼀个元素的迭代器

s.max_size() // 返回集合能容纳的元素的最⼤限值

s.size() // 集合中元素的数⽬

s.upper_bound() // 返回⼤于某个值元素的迭代器

代码示例1

 1 #include<iostream>
 2 #include<set>
 3 using namespace std;
 4 int main()
 5 {
 6     set<int> ss;
 7     set<int>::iterator ite;
 8     int i;
 9     int a[10]={5,80,9,6,15,665,58,6,56,8};
10     for(i=0;i<10;i++)
11         ss.insert(a[i]);
12     for(ite=ss.begin();ite!=ss.end();ite++)
13         cout<<*ite<<" ";
14     return 0;
15 } 

代码示例2

 1 #include<iostream>
 2 #include<set>
 3 using namespace std;
 4 int main()
 5 {
 6     set<int> ss;
 7     set<int>::iterator ite;
 8     int i;
 9     int a[10]={5,80,9,6,15,665,58,6,56,8};
10     for(i=0;i<10;i++)
11         ss.insert(a[i]);
12     int f;
13     while(1)
14     {
15         cout<<"请输入要查找的数字:";
16         cin>>f;
17         ite = ss.find(f);
18         if(ite!=ss.end())
19             cout<<*ite<<endl;
20         else
21             cout<<"Not Find"<<endl;
22     }
23     
24     return 0;
25  } 

代码示例3

 1 #include<iostream>
 2 #include<set>
 3 using namespace std;
 4 int main()
 5 {
 6     set<int> ss;
 7     set<int>::iterator ite;
 8     int i;
 9     int a[10]={5,80,9,6,15,665,58,6,56,8};
10     for(i=0;i<10;i++)
11         ss.insert(a[i]);
12     ite = ss.lower_bound(16);
13     cout<<*ite<<endl;
14     ite = ss.upper_bound(5);
15     cout<<*ite<<endl;
16     
17     return 0;
18  } 

注意:

猜你喜欢

转载自www.cnblogs.com/lzy-1023/p/9636980.html