怎么做投票网站什么网站可以免费做视频的软件

web/2025/10/4 13:03:19/文章来源:
怎么做投票网站,什么网站可以免费做视频的软件,在线制作头像生成,深圳工程项目在 C 中#xff0c;可以使用 std::map 统计值出现次数为 2 的键。具体步骤如下#xff1a; 遍历 std::map#xff0c;找出所有值为 2 的键。使用条件语句检查每个值#xff0c;符合条件时记录对应键。 #include iostream #include map #include vect…在 C 中可以使用 std::map 统计值出现次数为 2 的键。具体步骤如下 遍历 std::map找出所有值为 2 的键。使用条件语句检查每个值符合条件时记录对应键。 #include iostream #include map #include vectorint main() {// 创建一个 std::map 并插入数据std::mapint, int data {{1, 2}, {2, 3}, {3, 2}, {4, 1}, {5, 2}};// 用于存储值为 2 的键std::vectorint keys_with_value_2;// 遍历 mapfor (const auto pair : data) {if (pair.second 2) {keys_with_value_2.push_back(pair.first);}}// 输出统计结果std::cout Keys with value 2: std::endl;for (int key : keys_with_value_2) {std::cout key ;}std::cout std::endl;return 0; }示例运行结果 如果 data 中的内容是 {{1, 2}, {2, 3}, {3, 2}, {4, 1}, {5, 2}}输出结果为 Keys with value 2: 1 3 5 关键点 std::map 的有序性std::map 会根据键自动排序但这不影响统计值的逻辑。复杂度遍历 std::map 的复杂度为 O(n)其中 n 为键值对的数量。 如果需要统计这些键的数量可以直接输出 keys_with_value_2.size()。 在 C 中std::set 是一个有序且不允许重复元素的集合常用来存储不重复的数据并支持快速查找、插入和删除操作。 以下是关于 std::set 的详细介绍和常用操作 定义和初始化 #include iostream #include setint main() {// 创建一个空的 setstd::setint s;// 初始化 setstd::setint s2 {1, 3, 5, 7};// 输出初始化的内容for (int x : s2) {std::cout x ;}return 0; }主要特点 有序性std::set 自动按照键的顺序存储元素默认升序。唯一性std::set 不允许存储重复的元素。底层实现std::set 是基于红黑树的有序集合支持对数时间复杂度的插入、删除和查找操作。 常用操作 1. 插入元素 std::setint s; s.insert(5); s.insert(3); s.insert(8); s.insert(3); // 重复插入 3会被忽略 2. 遍历集合 for (int x : s) { std::cout x ; } // 或使用迭代器 for (auto it s.begin(); it ! s.end(); it) { std::cout *it ; } 3. 删除元素 s.erase(3); // 删除元素 3 s.erase(s.begin()); // 删除第一个元素 4. 查找元素 if (s.find(5) ! s.end()) { std::cout Found 5 std::endl; } else { std::cout 5 not found std::endl; } 5. 获取集合大小 std::cout Size: s.size() std::endl; 6. 检查集合是否为空 if (s.empty()) { std::cout Set is empty std::endl; } 更多高级操作 1. 获取范围内的元素 std::setint s {1, 3, 5, 7, 9}; auto itLow s.lower_bound(3); // 返回指向第一个 3 的迭代器 auto itUp s.upper_bound(7); // 返回指向第一个 7 的迭代器for (auto it itLow; it ! itUp; it) {std::cout *it ; }2. 合并两个集合 std::setint s1 {1, 3, 5}; std::setint s2 {2, 4, 6};// 插入另一个集合的所有元素 s1.insert(s2.begin(), s2.end());for (int x : s1) {std::cout x ; }示例代码 #include iostream #include setint main() {std::setint s {4, 2, 8, 6};// 插入元素s.insert(5);s.insert(3);// 遍历元素std::cout Set elements: ;for (int x : s) {std::cout x ;}std::cout std::endl;// 查找元素if (s.find(3) ! s.end()) {std::cout 3 is found in the set std::endl;} else {std::cout 3 is not found in the set std::endl;}// 删除元素s.erase(3);// 检查集合大小std::cout Set size: s.size() std::endl;return 0; }运行结果 Set elements: 2 4 5 6 8 3 is found in the set Set size: 4 总结 std::set 是一个非常实用的 STL 容器适用于需要保持元素唯一且有序的场景。如果需要存储重复元素可以考虑使用 std::multiset。 C算法库中的find如何使用 在 C 中std::find 是一个用于在容器中查找某个值的通用算法定义在 algorithm 头文件中。它可以用来查找 std::vector、std::list、std::array 等标准容器中的某个值。 std::find 的用法 Iterator find(Iterator first, Iterator last, const T value); 参数说明 first 和 last容器的起始迭代器和结束迭代器表示查找范围 [first, last)。value要查找的值。 返回值 如果找到值则返回指向该值的迭代器。如果未找到值则返回 last 迭代器。 使用示例 1. 在 std::vector 中查找 #include iostream #include vector #include algorithm // std::findint main() {std::vectorint vec {1, 2, 3, 4, 5};// 查找值 3auto it std::find(vec.begin(), vec.end(), 3);if (it ! vec.end()) {std::cout Found *it at index (it - vec.begin()) std::endl;} else {std::cout Value not found std::endl;}return 0; }输出 Found 3 at index 2 2. 在 std::list 中查找 #include iostream #include list #include algorithmint main() {std::listint lst {10, 20, 30, 40, 50};// 查找值 30auto it std::find(lst.begin(), lst.end(), 30);if (it ! lst.end()) {std::cout Found *it std::endl;} else {std::cout Value not found std::endl;}return 0; }输出 Found 30 3. 查找字符串中的字符 std::find 也可以用来查找字符串中的某个字符。 #include iostream #include string #include algorithmint main() {std::string str hello world;// 查找字符 oauto it std::find(str.begin(), str.end(), o);if (it ! str.end()) {std::cout Found *it at index (it - str.begin()) std::endl;} else {std::cout Character not found std::endl;}return 0; }输出 Found o at index 4 其他注意事项 查找的范围是 [first, last) std::find 不会检查 last因此传递的范围必须有效。 对于自定义类型的查找 如果容器中存储的是自定义类型需要重载 运算符std::find 才能正常工作。 示例在自定义类型中查找 #include iostream #include vector #include algorithmstruct Point {int x, y;// 重载 运算符bool operator(const Point other) const {return x other.x y other.y;} };int main() {std::vectorPoint points {{1, 2}, {3, 4}, {5, 6}};Point target {3, 4};auto it std::find(points.begin(), points.end(), target);if (it ! points.end()) {std::cout Found Point( it-x , it-y ) std::endl;} else {std::cout Point not found std::endl;}return 0; }输出 Found Point(3, 4) 性能和复杂度 时间复杂度O(n)其中 n 是容器中的元素数量。空间复杂度O(1)。 对于大容器如果需要频繁查找可以考虑使用 std::unordered_set 或 std::unordered_map它们提供平均时间复杂度为 O(1) 的查找性能。 总结 std::find 是一个通用的查找算法适用于所有支持迭代器的容器。它使用线性搜索适合中小型容器。对于自定义类型要确保实现了 运算符。 在 C 中std::find 通常不适用于 std::map 或 std::unordered_map因为这些容器存储的是键值对 (std::pairconst Key, Value)而不是单一的值。如果要在 std::map 中查找某个键或值通常需要使用 std::map 提供的专用方法如 find 或迭代器。 在 std::map 中查找键 std::map 自带的 find 函数更高效时间复杂度为 O(log n)可以直接查找键而不需要用 algorithm 中的 std::find。 示例 #include iostream #include mapint main() {std::mapint, std::string m {{1, one}, {2, two}, {3, three}};// 使用 map 自带的 find 函数查找键 2auto it m.find(2);if (it ! m.end()) {std::cout Found key: it-first , value: it-second std::endl;} else {std::cout Key not found std::endl;}return 0; }输出 Found key: 2, value: two 使用 std::find_if 查找键 如果你必须使用 algorithm 中的 std::find 系列函数可以通过 std::find_if 自定义谓词来查找键。 #include iostream #include map #include algorithmint main() {std::mapint, std::string m {{1, one}, {2, two}, {3, three}};// 使用 std::find_if 查找键int key_to_find 2;auto it std::find_if(m.begin(), m.end(), [key_to_find](const std::pairint, std::string p) {return p.first key_to_find; // 比较键});if (it ! m.end()) {std::cout Found key: it-first , value: it-second std::endl;} else {std::cout Key not found std::endl;}return 0; }在 std::map 中查找值 std::map 的设计是以键为主查找值。如果想要查找某个值则需要遍历整个 map例如用 std::find_if 来查找。 示例用 std::find_if 查找值 #include iostream #include map #include algorithmint main() {std::mapint, std::string m {{1, one}, {2, two}, {3, three}};// 使用 std::find_if 查找值 twoauto it std::find_if(m.begin(), m.end(), [](const std::pairint, std::string p) {return p.second two;});if (it ! m.end()) {std::cout Found value: it-second , key: it-first std::endl;} else {std::cout Value not found std::endl;}return 0; }输出 Found value: two, key: 2 查找键值对 如果需要查找完整的键值对std::pair可以直接使用 std::find #include iostream #include map #include algorithmint main() {std::mapint, std::string m {{1, one}, {2, two}, {3, three}};// 查找键值对 {2, two}auto it std::find(m.begin(), m.end(), std::make_pair(2, two));if (it ! m.end()) {std::cout Found pair: { it-first , it-second } std::endl;} else {std::cout Pair not found std::endl;}return 0; }输出 Found pair: {2, two} 总结 查找 键使用 map::find效率更高O(log n)。查找 值可以使用 std::find_if 遍历容器。查找完整的 键值对可以直接用 std::find。 如果需要频繁查找值建议使用 std::multimap 或维护一个反向映射的辅助数据结构如 std::unordered_mapValue, Key auto it std::find(m.begin(), m.end(), std::make_pair(2, two)); auto 的类型 it 的类型是 std::mapint, std::string::iterator也就是 std::map 的迭代器类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发公对公转账合同模板自己在网站开发的客户怎么联系

2019独角兽企业重金招聘Python工程师标准>>> lrzsz linux与windows互传 # 前提是使用 xshell 或者 securecrt 这两个远程软件,putty不支持 yum install -y lrzsz //安装文件包 linux向windows 传文件使用 : sz 文件名 回…

在手机制作网站90设计官方网站

目录 前言 项目规划(第二周) 具体实现 用户大类 AccountOperations接口 UserOperations接口 Operations类(实现类) Account类 User类 Area类 (父类) 货币大类 Money类(抽象类&…

泰州网站建设方案优化安徽建设厅网站考勤

数据库是什么 数据库是一种用来存储数据的仓库,是一种高效存储和处理数据的介质(载体)。我们通常口中所说的数据库指的是数据库管理系统(DBMS),是一种用于方便管理数据库的软件。 数据库的分类 根据存储…

网站设计知名企业剑三做月饼活动网站

是cocoaChina网站上下载的知识点整理,共669个知识点,我花了点时间给文件全部做了重命名,这样用来查阅或者选择性的学习会有些帮助。 文件放在115网盘,下载地址:http://115.com/file/bhkqjlx2#cocoaChina整理知识点.rar…

网站点击量在哪里看网站推广方法有哪些

目录 stack类介绍 stack类定义 stack类常见构造函数 stack数据操作 empty()函数 size()函数 top()函数 push()函数 pop()函数 swap()函数 stack类介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端…

做特价网站百度云网站建设视频教程

10.1 文件I/O操作概述在Linux系统中,文件I/O操作可以分为两类,一类是基于文件描述符的I/O操作,另一类是基于数据流的I/O操作。10.1.1 文件描述符简介在文件操作一章中,也经常提到文件描述符这个概念。所谓文件描述符,就…

济南网站建设制作设计北京引流推广公司

为什么80%的码农都做不了架构师?>>> 1、图形简介 与html5不同,Raphael提供了以下基本图形:矩形、圆形、椭圆形(html5只有矩形)。 Paper.rect(x,y,width,height,r):绘制矩形; 参…

海宁市建设局官方网站6APP编辑WordPress

前言 在说到对图片资源进行优化时,那就不得不提到图片预加载和图片懒加载,可能很多朋友都了解这两者,但是一直没有很清晰的概念,以及什么时候用,用在什么场景下,今天就来详细的了解一下吧! 图…

网站建网站建设做水利网站需要多少钱

一、前言 K8S经过多年的发展,构建了云原生的基石,成为了云原生时代的统治者。我将用三个博客系列全面,循序渐进的介绍K8S相关知识。 初级入门系列,主要针对K8S初学者,以及希望对K8S有所了解的研发人员,重点…

怎么做汽车网站php和什么语言做网站

最近富文本编辑器jodit终于更新发布到了4.0版本,加入了css变量、有更好的typescript支持,截止发文时的版本是:4.0.5,看到有了新版本于是便想着将本地项目中的jodit版本也进行升级,琢磨着再丰富和添加一些功能&#xff…

建设六马路小学 网站网站集约化建设的好处

1.概要 初步搭建了Layout界面的布局,其中包括左侧导航栏及其路由功能,和右侧头、体、脚部分的大致排版。最后在头部分中的昵称与头像替换成动态数据。 2.Layout主页布局 文件地址:src\views\Layout.vue 2.1 script行为模块 从elementUI中…

建站排行榜有哪些站内推广的方式

文章目录基本介绍入门步骤执行原理Servlet 生命周期线程安全问题解决方式Servlet 注解配置Servlet 继承与实现体系基本介绍 servlet,server applet,服务器端小程序 servlet 是一个接口,定义了 Java 类被浏览器访问(tomcat 识别&…

建立一个网站需要多少钱?网站网络营销外包

uni-app 微信小程序调试不更新问题解决指南 在使用 uni-app 开发微信小程序时,可能会遇到代码修改后无法更新或者不生效的问题。这种现象常见于调试阶段,通常与缓存、编译或代码错误有关。 本文将详细分析调试过程中常见的“不更新”问题,并…

dede能建立手机网站吗计算机做网站开题报告

目录: SpringMVC 的 “整合支持” ( 引入"Web依赖启动器",几乎可以在无任何额外的配置的情况下进行"Web开发")1.SpringMVC "自动配置" 介绍 ( 引入Web依赖启动器"后,SpringBoot会自动进行一些“自动配置”&#xff0…

专业做面膜的网站在线玩网页游戏h5网站大全

光猫就是“光modem”,是指将光以太信号转换成其它协议信号的收发设备,也是起着调制解调的作用。光猫也称为单端口光端机,该设备作为本地网的中继传输设备,适用于基站的光纤终端传输设备以及租用线路设备。而对于多口的光端机一般会…

长沙微网站开发公司网站域名注册流程

一、实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法。 (2)熟练掌握低通、高通、带通、同态滤波器的使用方法,明确不同性质的滤波器…

怎样建设自已的网站英文网站收录提交

const 是 C 语言中的一个关键字,它表示一个对象或变量是常量,即在其生命周期内不可更改。在 C 语言中,const 有多种用法,可以提高代码的可读性和安全性。这里列举了一些关于 const 的常见用法: 声明常量变量&#xff…

ai特效字体网站设计方案步骤

我的 index.jsp 代码是这样 现在每次启动 访问的都是index.jsp 这也是它的默认配置 我这里写了一个 WebServlet 代码是这样 简单可以理解为 我们定义了WebServlet 访问路径为1cginServlet 其中在request作用域中 定义了一个userName值为 欢迎来到jsp世界 然后 跳转向 page.j…

网站建设教程开源代码下载手机网站建设ppt

文 | Mike Shou知乎(ID:Showthem)本文已获作者授权,禁止二次转载0. 写在前面「 开始写这边总结的时候是三月,纽约成了疫情震中,看着新闻报道里的中央公园,中国城,第五大道,往事浮现&…

网站建设纯免费官网太原seo推广优化

在手机侧与穿戴设备侧构建应用到应用的通信隧道,用于收发应用自定义的报文消息以及文件。实现手机应用和穿戴设备应用间的交互,为用户提供分布式场景和体验。比如手机应用发送音频文件到穿戴设备侧应用,实现在穿戴设备侧应用上播放音乐&#…