unordered_set+unordered_map+字符输入
提高oj运行时间效率:
ios::sync_with_stdio(false);
关于字符输入:
char arr[100];
gets(arr); //字符串输入
cout<<arr<<endl;
cout<<strlen(arr)<<endl;// 字符型
unordered_set:
set会自动去除重复元素
unordered_set<int> ms;
ms.insert(1);
ms.insert(2);
ms.insert(3);
// find() 函数如果没有找到会返回结束位置的迭代器(地址)
unordered_set<int>::iterator pos = us.find(1); //查找值为1的元素
if (pos != us.end())
{
us.erase(pos);
}
//遍历1
for(auto x:ms){
cout<<x<<" ";
}
//遍历2
for(auto iter=ms.begin();iter!=ms.end();iter++){
cout<<*iter<<" ";
}
unordered_map:
unordered_map<int, string> um;
//插入键值对方式一
um.insert(pair<int, string>(1, "one"));
um.insert(pair<int, string>(2, "two"));
um.insert(pair<int, string>(3, "three"));
//插入方式2 {}创建一个 一维向量
um.insert({4,"four"});
// 插入键值对方式3
um.insert(make_pair(6,"b"));
//遍历方式一:范围for
for (auto e : um)
{
cout << e.first << "->" << e.second << " ";
cout<<endl;
}
//遍历方式2
for(auto iter=um.begin();iter!=um.end();iter++){
cout<<iter->first<<"->"<<iter->second<<endl;
}