• 欢迎访问废江's博客 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏本站吧

stl-multiset和stl-set

STL标准库 站点默认 4个月前 (12-22) 43次浏览 已收录 0个评论
类似于一个平衡二叉树的容器multiset和set
//stl-multiset,set(引入头文件<set>
#include<iostream>
#include<set>
#include<cstring>
using namespace std;
int main(){
	multiset<int> st;//先声明一个容器
	//st.insert()添加元素; st.find()查找元素,返回值为迭代器,否则为end()
	//st.erase()删除元素;  st.begin()返回第一个元素; st.end()返回最后一个元素
	//迭代器可自增自减,!=和==,但不可以比较大小,加减。 
	int a[10]={1,14,12,13,5,3,13,6,89,7};
	for(int i=0;i<10;i++)
	st.insert(a[i]);
	multiset<int>::iterator i;//i是一个迭代器,类似于指针
	for(i=st.begin();i!=st.end();i++)
	cout<<*i<<" ";
	cout<<endl;	
	//类似的multiset也可以自定义排序,在声明时第二个参数位调用 
	multiset<int,greater<int> > st2;
	for(int i=0;i<10;i++)
	st2.insert(a[i]);
	multiset<int,greater<int> >::iterator j;
	for(j=st2.begin();j!=st2.end();j++)
	cout<<*j<<" ";
	cout<<endl;
	//set的用法,区别于multiset,set里面的元素不能重复
	//这里提一下pair模板的用法(新知识点)
	//pair <t1,t2> name = struct{ t1 first; t2 second;} name
	pair <int ,double> x;
	x.first=1.1;x.second=9;
	cout<<x.first<<" "<<x.second<<endl;	 
}

个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:stl-multiset和stl-set
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到