【个人学习记录】
map
- map是一个关联容器,简而言之就是一个序号,后面带一个值。
- 更适合需要进行添加删除查询等操作时来使用。
- insert和数组的方式访问、访问。
- 查询效率较高,适合需要按键进行查找和排序的场景。
map <int, string> mapStudent;
以下代码为插入
map<int, string> mapStudent;
// /第一种函数插入pair
mapStudent.insert(pair<int,string>(000,"studnet_zero "));
mapStudent.insert(pair<int, string>(001, "studnet_bob "));
// /第二种函数insert插入value_type数据
mapStudent.insert(map<int, string>::value_type(002, "student_rose"));
// /数组的方式来进行存储
mapStudent[4] = "student_first";
/*insert的插入存在相应的key则不可以再插入了,但是数组形式的则是会导致覆盖的情况*/
这里的begin指向map的第一个key,相当于数组的0 ,end则是指向最后一个key
// /访问map
for (auto it = mapStudent.begin(); it != mapStudent.end(); it++)
{
int key = it->first;
string value_ = it->second;
cout << key << ":" << value_ << endl;
}
//map中查找元素
auto it = mapStudent.find(001);
if (it != mapStudent.end())
{
string value_ = it->second;
cout << "查找到元素 001:" << value_ << endl;
}
//判断元素是否存在
if (mapStudent.count(002) > 0)
{
cout << "存在" << endl;
}
else
{
cout << "不存在" << endl;
}
vector
- 一个动态的数组,在运行的时候也可以改变大小。
- 按插入的顺序进行排序。
- 索引访问数组,支持头部和尾部插入数据。
- 适合用于需要频繁访问元素、插入和删除操作相对较少的场景。
vector<int> vec;
下面是对向量的插入访问操作
//insert 这里就是说的只能在头尾插入数据
vec.insert(vec.begin(), 2);
//emplace
vec.emplace(vec.begin(), 1);
//末尾插入数据
vec.push_back(10);
vec.push_back(11);
//访问元素
int value__ = vec[0];
// 获取大小
int size_ = vec.size();
// 迭代访问元素
for (const auto& element : vec) {
cout << element << endl;
}
cout << "value__ :" << value__ << endl;
cout << "size_ : " << size_ << endl;
//向量的清空
vec.clear();
//vevtor 动态的数组 在运行时可以调整大小
这里的插入和访问和map有一些不一样,多了集中方式,最后就不再多说。
下面是运行结果: