srand()和unordered_map用法总结

一、srand()

最近在做题的时候接触到了这个,srand()用来初始化随机数生成器的种子。

time(NULL) 函数

  • time(NULL) 函数返回当前时间的秒数(自1970年1月1日以来的秒数)。
  • 每次调用 time(NULL) 都会返回一个不同的值,因为时间不断流逝。
  • srand(time(NULL))

 二、unordered_map

 unordered_map 是 C++ 标准库中的一个关联容器,提供了一种将键值对映射起来的数据结构,其中的元素是无序的。

(1)定义

std::unordered_map<KeyType, ValueType> myMap;

(2) 插入单个键值对

myMap.insert(std::make_pair(key, value));

//也可以使用“[]” 进行插入操作

myMap[key] = value;

 (3)插入多个键值对

myMap.insert({{key1, value1}, {key2, value2}, ...});

(4)访问元素 

 ValueType value = myMap[key];

//使用at()方法,如果不存在时抛出异常

ValueType value = myMap.at(key);

//count()方法用于判断指定键是否存在

size_t count(const KeyType& key) const;
 

(5)查找元素

使用 find() 方法查找指定键的位置,如果找到则返回指向该键值对的迭代器,否则返回 myMap.end()

 auto it = myMap.find(key);
if (it != myMap.end()) {
    // 键存在
} else {
    // 键不存在
}

 (6)删除元素

//使用erase()删除指定键值对

myMap.erase(key);

//使用clear()清空整个unordered_map

myMap.clear();

(7) 遍历元素

for (auto it = myMap.begin(); it != myMap.end(); ++it) {
    KeyType key = it->first;
    ValueType value = it->second;
    // 使用 key 和 value
}

//范围遍历

for (const auto& pair : myMap) {
    KeyType key = pair.first;
    ValueType value = pair.second;
    // 使用 key 和 value
}

(8)大小和空判断

//获取键值对的数量

size_t size = myMap.size();

//使用empty()方法检查unordered_map是否为空

if (myMap.empty()) {
    // unordered_map 为空
} else {
    // unordered_map 不为空
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值