//函数原型:
//size(); //返回容器中元素数目
//empty(); //判断容器是否为空
//swap(st); //交换两个集合容器
#include<iostream>
#include<map>
using namespace std;
void printMap(const map<int, int>& m) {
for (map<int, int>::const_iterator it = m.begin(); it != m.end(); it++) {
//这里获取不可以单纯*it,因为有两个值
cout << "key = " << (*it).first << " value = " << it->second << endl;
}
cout << endl;
}
void test01() {
map<int, int>m;
m.insert(pair<int, int>(1, 10));
m.insert(pair<int, int>(2, 20));
m.insert(pair<int, int>(4, 30));
m.insert(pair<int, int>(3, 40));
//会按key值自动排序
printMap(m);
//判断是否为空
if (m.empty()) {
cout << "s1为空" << endl;
}
else {
cout << "s1不为空" << endl;
cout << "s1的大小为: " << m.size() << endl;
}
}
void test02() {
//交换
map<int, int>m1;
m1.insert(pair<int, int>(1, 10));
m1.insert(pair<int, int>(2, 20));
m1.insert(pair<int, int>(4, 30));
m1.insert(pair<int, int>(3, 40));
//会按key值自动排序
cout << "交换前: " << endl;
cout << "m1: " << endl;
printMap(m1);
map<int, int>m2;
m2.insert(pair<int, int>(1, 50));
m2.insert(pair<int, int>(2, 60));
m2.insert(pair<int, int>(4, 80));
m2.insert(pair<int, int>(3, 70));
cout << "m2: " << endl;
printMap(m2);
m1.swap(m2);
cout << "交换后: " << endl;
cout << "m1: " << endl;;
printMap(m1);
cout << "m2: " << endl;;
printMap(m2);
}
int main() {
test01();
test02();
}
c++笔记 STL map容器_大小和交换
最新推荐文章于 2022-01-04 14:44:18 发布