STL map&set

来源:互联网 发布:贝多芬第五交响曲知乎 编辑:程序博客网 时间:2024/05/20 19:17

 

set和map最基本的使用方法,拥有2叉搜索树的性质和平衡二叉树的性质。使用它们来实现二叉搜索树。

#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
#include<map>
int main()
{
 map<int,char*>m;
 m.insert(map<int,char*>::value_type(1,"one"));
 m.insert(map<int,char*>::value_type(2,"ten"));
 //m.insert(make_pair(3,"three")); //VC接受不了这种写法,VS或更高级的编译器可以
 m[100]="hundred";  //其他写法
 map<int,char*>::iterator ite;
 ite=m.find(1);
 puts(ite->second);
 ite=m.find(2);
 if(ite==m.end())
  puts("not find");
 else
  puts("find");

 puts(m[100]); //其他输出方法
 m.erase(2);
 for(ite=m.begin();ite!=m.end();ite++)
  cout<<ite->first<<" "<<ite->second<<endl;
 return 0;
}

 

 

 

#include<iostream>
#include<set>
using namespace std;

int main()
{
 set<int>s;
 s.insert(1);
 s.insert(2);
 s.insert(3);
 s.insert(0);
 s.insert(7);
 s.insert(-1);
 set<int>::iterator ite;
 ite=s.find(1);
 if(ite==s.end())
  puts("not find\n");
 else
  puts("find\n");
 s.erase(3);
 if(s.count(3)!=0)
  puts("find\n");
 else
  puts("not find\n");
 for(ite=s.begin();ite!=s.end();ite++)
  printf("%d ",*ite);
}

 

0 0