赞
踩
#include<set>
即可.greater<T>
即可.set<int> a
创建一个保存整形的数据结构,向里面插入元素,按照从小到大排列.set<int,greater<int>> a
创建和上面一样的数据结构,只不过,它按照从大到小排列.template<class K, class V>
struct pair
{
K first;
V second;
pair(const K& key, const V& value)
:first(key)
, second(value)
{}
}
set<int> a;
set<int>::iterator it;
pair<set<int>::iterator, bool> ret;
a.insert(1);
a.insert(2);
a.insert(3);
ret = a.insert(7);
if (ret.second == false) //插入重复的数
{
cout << "插入失败" << endl;
}
else //第一次出现的数
{
cout << "插入成功" << endl;
}
set<int> a; set<int>::iterator it,it1,it2; a.insert(1); a.insert(2); a.insert(3); a.insert(4); a.insert(3); a.insert(6); a.insert(8); a.insert(9); a.erase(1); //第二种方式 it = a.find(2); a.erase(it); //第一种方式 it1 = a.lower_bound(4); //下界限 it2 = a.upper_bound(8); //上界限 a.erase(it1,it2); //第三种方式: 删除区间--左闭右开
set<int>::iterator it;
while (it != a.end())
{
cout << *it << endl;
it++;
}
set<int> a;
a.insert(1);
a.insert(3);
a.insert(2);
int ret = 0;
ret = a.count(2);
if (ret == 0)
{
cout << "找不到" << endl;
}
else
{
cout << "找到了" << endl;
}`
`
void TestMap() { map<string, string> a; map<string, string>::iterator it; pair<map<string, string>::iterator, bool> mapit; a.insert(pair<string, string>("左边", "left")); a.insert(pair<string, string>("右边", "right")); a.insert(pair<string, string>("上边", "above")); a.insert(pair<string, string>("下边", "below")); mapit = a.insert(pair<string, string>("1111", "below")); //key不能相同,value可以相同 if (mapit.second == true) //不存在 { cout << "成功" << endl; } else //已经存在 { cout << "已经存在" << endl; } //查找 //iterator find (const key_type& k); map<string, string>::iterator it1; it1 = a.find("左边"); //查找key,同样查找成功,返回对象位置,查找失败,返回迭代器末尾 if (it1 != a.end()) { cout << "找到" << endl; } else { cout << "没有找到" << endl; } //删除 //void erase(iterator position); a.erase(it1); //size_type erase(const key_type& k); a.erase("上边"); //void erase(iterator first, iterator last); a.erase(it1, a.end()); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。