2019/3/6

2019/3/6 博客-----STL学习
1、生成排列
#include

{
int a[3]={1,2,3}
if(next_permutation(a,a+3))//产生下一排列改变数组顺序,返回bool;
cout<<a[0]<<a[1]<<a[2];
if(pre_premutation(a,a+3)))//产生前一排列
cout<<upper_bound(a,a+3,1)-a;//输出>1的第一个位置
cout<<lower_bound(a,a+3,1)-a//输出>=1的位置
2、set,multiset
Set和multiset会在根据特定的排序准则,自动将元素排序,两者不同在与multiset允许重复。同时向数组内置入元素,输入一个排一个。
下面以set为例。
#include
#include //定义set
using namespace std;
int main()
{
set s;
set::iterator it=s.begin();//借助迭代器遍历输出
s.insert(1);
s.insert(4);
s.insert(3);
for (it = s.begin(); it != s.end(); ++it) //遍历输出
cout << *it << endl;
s.insert(1);
cout<<“set 的 size 值为 :”<<s.size()<<endl;
cout<<“set 的 maxsize的值为 :”<<s.max_size()<<endl;
cout<<“set 中的第一个元素是 :”<<*s.begin()<<endl;
cout<<“set 中的最后一个元素是:”<<*s.end()<<endl;
s.clear();
if(s.empty())
{
cout<<“set 为空 !!!”<<endl;
}
cout<<“set 的 size 值为 :”<<s.size()<<endl;
cout<<“set 的 maxsize的值为 :”<<s.max_size()<<endl;
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43627100/article/details/88261996