当前位置: 首页 > news >正文

网站引导页是什么微博推广价格表

网站引导页是什么,微博推广价格表,安徽省住房城乡建设厅网站电工,网站中图片加水印1. unordered_map unordered_map 是一个基于哈希表实现的容器,存储键值对(key-value),每个键必须唯一,可以快速插入、删除、查找。 基本特性 存储结构:键值对 (key-value)。键唯一性:每个键在…

1. unordered_map

unordered_map 是一个基于哈希表实现的容器,存储键值对(key-value),每个键必须唯一,可以快速插入、删除、查找。

基本特性

  • 存储结构:键值对 (key-value)。
  • 键唯一性:每个键在表中必须是唯一的。
  • 无序存储:键值对的存储顺序与插入顺序无关。
  • 时间复杂度
    • 平均情况下,插入、删除、查找的时间复杂度为 ( O(1) )。
    • 最坏情况下(哈希冲突严重时),时间复杂度为 ( O(n) )。

常用函数

函数功能说明
insert({key, val})插入键值对,若键已存在,则插入失败。
erase(key)删除键为 key 的元素,若不存在则不执行操作。
find(key)返回指向键为 key 的迭代器,若不存在则返回 end()
operator[key]通过键访问或插入值,若键不存在则插入默认值。
size()返回哈希表中元素的数量。
empty()判断哈希表是否为空。
clear()清空哈希表中的所有元素。

示例代码

#include <unordered_map>
#include <iostream>
using namespace std;int main() {unordered_map<string, int> map;// 插入键值对map["apple"] = 10;map["banana"] = 20;map.insert({"cherry", 30});// 查找元素if (map.find("banana") != map.end()) {cout << "banana: " << map["banana"] << endl;}// 删除元素map.erase("apple");// 遍历哈希表for (auto& [key, value] : map) {cout << key << ": " << value << endl;}return 0;
}

2. unordered_set

unordered_set 是一个基于哈希表实现的容器,用于存储唯一元素(类似于数学中的集合),不存储值。

基本特性

  • 存储结构:仅存储唯一的键(没有值)。
  • 键唯一性:集合中的每个键必须唯一。
  • 无序存储:元素存储的顺序与插入顺序无关。
  • 时间复杂度
    • 平均情况下,插入、删除、查找的时间复杂度为 ( O(1) )。
    • 最坏情况下,时间复杂度为 ( O(n) )。

常用函数

函数功能说明
insert(key)插入元素 key,若元素已存在,则插入失败。
erase(key)删除元素 key,若不存在,则不执行操作。
find(key)查找元素 key,返回指向该元素的迭代器,若不存在则返回 end()
count(key)判断元素 key 是否存在,返回 1(存在)或 0(不存在)。
size()返回集合中元素的数量。
empty()判断集合是否为空。
clear()清空集合中的所有元素。

示例代码

#include <unordered_set>
#include <iostream>
using namespace std;int main() {unordered_set<int> set;// 插入元素set.insert(10);set.insert(20);set.insert(30);set.insert(10); // 插入失败,10 已存在// 查找元素if (set.find(20) != set.end()) {cout << "20 exists in the set!" << endl;}// 删除元素set.erase(20);// 遍历集合for (auto& elem : set) {cout << elem << " ";}return 0;
}

3. unordered_mapunordered_set 对比

特性unordered_mapunordered_set
存储内容键值对 (key-value)仅存储键
键的唯一性键必须唯一元素必须唯一
访问元素通过键访问对应值,map[key]查找元素是否存在,find(key)
使用场景用于键值对映射,如字典、计数等用于集合操作,如去重、查找是否存在
时间复杂度插入、删除、查找的平均复杂度为 ( O(1) )插入、删除、查找的平均复杂度为 ( O(1) )

4. 注意事项

  1. 无序性
    • 元素的存储顺序与插入顺序无关,取决于哈希函数的实现。
  2. 哈希冲突
    • 哈希表依赖于哈希函数,若哈希冲突严重,会导致性能下降。
  3. 迭代器失效
    • 插入或删除元素后,迭代器可能会失效。
  4. 自定义哈希函数
    • 如果需要存储用户自定义类型,可以通过提供自定义哈希函数实现。

5. 常见应用场景

5.1 去重

使用 unordered_set 去除重复元素:

#include <unordered_set>
#include <vector>
#include <iostream>
using namespace std;int main() {vector<int> nums = {1, 2, 2, 3, 4, 4, 5};unordered_set<int> unique(nums.begin(), nums.end());for (auto& elem : unique) {cout << elem << " ";}return 0;
}

输出:

1 2 3 4 5

5.2 统计元素出现次数

使用 unordered_map 统计字符出现次数:

#include <unordered_map>
#include <string>
#include <iostream>
using namespace std;int main() {string text = "hello world";unordered_map<char, int> freq;for (char c : text) {freq[c]++;}for (auto& [ch, count] : freq) {cout << ch << ": " << count << endl;}return 0;
}

输出:

h: 1
e: 1
l: 3
o: 2: 1
w: 1
r: 1
d: 1

总结

  • unordered_map:适用于存储键值对,快速查找、统计、映射。
  • unordered_set:适用于存储唯一键,快速查找、去重、集合操作。
http://www.hkea.cn/news/104312/

相关文章:

  • 深圳罗湖企业网站建设报价网络媒体发稿平台
  • 用别人公司域名做网站线下推广的渠道和方法
  • php mysql的网站开发外贸推广平台
  • 济南网站建设认可搜点网络能百度指数有三个功能模块
  • 网上商城网站建设意义在线代理浏览网页
  • 网站图片切换代码百度下载并安装最新版
  • 微信公众平台号申请注册入口杭州seo公司
  • 本周实时热点新闻事件seo文章代写一篇多少钱
  • 旺店通app手机企业版下载网站seo如何优化
  • 宝山区建设用地事务所网站网络公司有哪些
  • 用sql做简单的博客网站大连谷歌seo
  • 新手怎么学做网站就业培训机构有哪些
  • magento网站建设搭建网站步骤
  • 营销网站如何实现差异化南京seo公司
  • 服务器托管是啥搜索引擎优化排名培训
  • 山西手机网站建设网址大全123
  • b2c平台有哪些平台网址新区seo整站优化公司
  • WordPress突然全站404网站如何添加友情链接
  • 复制别人网站做第一站seo短视频网页入口引流下载
  • 基层建设论文收录在哪个网站百度统计api
  • 购买主机可以做网站吗楚雄今日头条新闻
  • 深圳专业网站建设公司哪家好宁波网络营销公司
  • ps做电商网站流程图百度图片识别搜索引擎
  • 做电影网站程序好用武汉网站建设推广公司
  • 如何做b2c网站下列关于友情链接说法正确的是
  • 网站开发中网页上传seo在线网站推广
  • 网站建设报价流程免费培训网站
  • 聊城网站建设服务好最新网域查询入口
  • 一般网站建设流程有哪些步骤官方百度app下载安装
  • 档案网站建设的步骤八大营销方式有哪几种