cpp的STL之set
set 唯一容器,已排好序的
multiset可重复值的容器,已排好序的
set和multiset的实例
//
// main.cpp
// use_stl_set
//
// Created by bikang on 16/10/28.
// Copyright (c) 2016年 bikang. All rights reserved.
//
#include <iostream>
#include <set>
using namespace std;
void tset();
int main(int argc, const char * argv[]) {
tset();
return 0;
}
void tset(){
cout << "set" << endl;
set<int> s1;
multiset<int> ms1;
//插入元素
s1.insert(1);
s1.insert(2);
s1.insert(3);
s1.insert(4);
s1.insert(31);
s1.insert(-1);
s1.insert(30);
s1.insert(30);
//查找
set<int>::iterator elem1;
elem1 = s1.find(-1);
if(elem1 != s1.end()){
cout << *elem1<<endl;
}
//删除 1 通过key删除,2 通过值删除 3 范围删除
s1.erase(1);
s1.erase(-2);
s1.erase(s1.begin(), elem1);
//打印
for (elem1=s1.begin(); elem1!= s1.end(); ++elem1) {
cout << *elem1 <<" ,";
}
cout << endl;
//插入元素
ms1.insert(31);
ms1.insert(-1);
ms1.insert(30);
ms1.insert(30);
multiset<int>::iterator elem2;
for (elem2=ms1.begin(); elem2!= ms1.end(); ++elem2) {
cout << *elem2 <<" ,";
}
cout << endl;
}