建网站什么样的域名最好/百度信息流怎么收费

建网站什么样的域名最好,百度信息流怎么收费,网络工作平台,购物商城网站制作1. pair的定义和结构 • 基础概念&#xff1a;考察对std::pair模板类的理解&#xff0c;包括其头文件&#xff08;<utility>&#xff09;和基本语法&#xff08;pair<T1, T2>&#xff09;。 • 成员访问&#xff1a;测试对first和second成员变量的使用能力。 • 构…

1. pair的定义和结构

基础概念:考察对std::pair模板类的理解,包括其头文件(<utility>)和基本语法(pair<T1, T2>)。
成员访问:测试对firstsecond成员变量的使用能力。
构造方式:如何通过构造函数或make_pair()函数创建pair对象(如 pair<int, string> p(1, "test"))。


2. pair的嵌套

多层嵌套结构:考察pair与其他容器(如vectormap)或自身嵌套的能力(如 pair<int, pair<string, float>>)。
复杂数据组织:可能涉及在嵌套pair中访问多层数据(如 p.second.first)。
实际应用场景:例如用pair存储坐标点(pair<int, int>)或键值对的组合(pair<string, map<int, float>>)。


3. pair的自带排序规则

默认比较逻辑:理解pair的默认排序规则(先按first升序,若相等再按second升序)。
自定义排序:在需要打破默认规则时(如降序排序),如何通过自定义比较函数或Lambda表达式实现。
结合STL算法:例如在sort()函数中使用pair的排序特性处理容器数据。


考试题型推测

  1. 选择题/填空题:考察pair的定义、成员变量、默认行为等基础知识点。
  2. 简答题:解释pair的排序规则或嵌套应用场景。
  3. 编程题:完成基于pair的算法实现或数据操作。
  4. 代码分析题:阅读并改进包含pair的代码逻辑。

重点应用方向

STL容器结合pairmapvector等容器的联合使用(如map的键值对本质是pair)。
算法优化:利用pair简化多属性数据的比较和排序逻辑。
工程实践:在数据结构设计中灵活使用pair嵌套(如树节点、图边权重的组合存储)。

一些测试题


一、选择题

  1. std::pair 的头文件是?
    A. <algorithm>
    B. <utility>
    C. <vector>
    D. <map>
    答案:B

  2. 如何访问pair对象的第二个成员?
    A. p.first
    B. p.second
    C. p.value
    D. p.key
    答案:B

  3. pair的默认排序规则是?
    A. 先按second升序,再按first升序
    B. 先按first升序,再按second升序
    C. 按内存地址排序
    D. 无序
    答案:B


二、填空题

  1. 声明一个存储intstringpair对象:
    答案: pair<int, string> p;

  2. 通过函数创建pair对象的语法:auto p = ___________(3, "hello");
    答案: make_pair

  3. 访问嵌套pair的示例:pair<int, pair<char, float>> p;,要获取char值应写为:________
    答案: p.second.first


三、简答题

  1. 简述pair的默认排序规则,并举例说明。
    答案:
    默认按first成员升序排序,若first相等则按second升序。
    例如:pair<int, int>(2,3)会排在pair<int, int>(2,5)之前。

  2. 如何对vector<pair<int, string>>first降序排序?写出代码片段。
    答案:

    sort(vec.begin(), vec.end(), [](const auto& a, const auto& b) {return a.first > b.first;
    });
    

四、编程题

  1. 题目: 定义一个嵌套pair结构pair<string, pair<int, float>>,表示学生姓名、年龄和成绩。创建包含3个此类对象的vector,并按年龄升序排序后输出。
    参考答案:
    #include <iostream>
    #include <utility>
    #include <vector>
    #include <algorithm>
    using namespace std;int main() {vector<pair<string, pair<int, float>>> students = {{"Alice", {20, 88.5}},{"Bob", {18, 90.0}},{"Charlie", {22, 85.0}}};sort(students.begin(), students.end(), [](const auto& a, const auto& b) {return a.second.first < b.second.first;});for (const auto& s : students) {cout << s.first << ": Age=" << s.second.first << ", Score=" << s.second.second << endl;}return 0;
    }
    

机器人的代码看不太懂

#include <bits/stdc++.h>
using namespace std;
int main() {//pair<string,pair<int,float>>stu;vector<pair<string,pair<int,float>> >stu;stu.push_back({"xiaoMing",{23,89.9}});stu.push_back({"xiaoHong",{21,88.5}});stu.push_back({"xiaoTong",{28,98.5}});auto compare = [](const pair<string, pair<int,     float>>& a, const pair<string, pair<int, float>>& b) {return a.second.first < b.second.first; // 比较年龄};// 使用sort函数进行排序sort(stu.begin(), stu.end(), compare);for (const auto& student : stu) {cout << "Name: " << student.first << ", Age: " << student.second.first << ", Score: " << student.second.second << endl;}return 0;}
  1. 题目: 使用pair存储坐标点(x, y),对vector<pair<int, int>>x升序排序,若x相同则按y降序排序。
    参考答案:
    sort(coords.begin(), coords.end(), [](const auto& a, const auto& b) {if (a.first == b.first) return a.second > b.second;return a.first < b.first;
    });
    

五、纠错题

找出以下代码的错误并修正:

pair<int, string> p = {5, "test"};
cout << p.second() << endl;  // 试图输出second成员

答案:
错误:second是成员变量而非函数,应去掉()
修正:cout << p.second << endl;

这个代码也不错


#include <iostream>
#include <utility>
#include <vector>// 定义一个结构体表示人的信息
struct Person {std::string name;int age;
};int main() {// 创建一个存储Person对象的向量std::vector<Person> people;people.push_back({"Alice", 25});people.push_back({"Bob", 30});people.push_back({"Charlie", 20});// 创建一个存储pair的向量,每个pair包含Person对象和评分std::vector<std::pair<Person, int>> scores;scores.push_back({people[0], 98});scores.push_back({people[1], 85});scores.push_back({people[2], 95});// 遍历输出每个pair的内容for (const auto& entry : scores) {std::cout << "Name: " << entry.first.name << ", Age: " << entry.first.age << ", Score: " << entry.second << std::endl;}return 0;
}

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

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

相关文章

RabbitMQ消息持久化与Lazy模式对比分析

RabbitMQ消息持久化与Lazy模式对比分析 在RabbitMQ中&#xff0c;消息持久化与Lazy模式是两种不同的机制&#xff0c;分别针对消息可靠性、存储优化等不同维度设计。以下从六个层面进行深度对比&#xff1a; 一、核心目标与作用对象差异 维度消息持久化&#xff08;delivery_…

linux 命令 tail

tail 是 Linux 中用于查看文件末尾内容的命令&#xff0c;常用于日志监控和大文件快速浏览。以下是其核心用法及常见选项&#xff1a; 基本语法 tail [选项] 文件名 常用选项 显示末尾行数 -n <行数> 或 --lines<行数> 指定显示文件的最后若干行&#xff08;…

某乎x-zse-96加密算法分析与还原

文章目录 1. 写在前面2. 接口分析3. 加密分析4. 算法实现 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致…

ubuntu 24 安装 python3.x 教程

目录 注意事项 一、安装不同 Python 版本 1. 安装依赖 2. 下载 Python 源码 3. 解压并编译安装 二、管理多个 Python 版本 1. 查看已安装的 Python 版本 2. 配置环境变量 3. 使用 update-alternatives​ 管理 Python 版本 三、使用虚拟环境为项目指定特定 Python 版本…

怎样使用Modbus转Profinet网关连接USB转485模拟从站配置案例

怎样使用Modbus转Profinet网关连接USB转485模拟从站配置案例 Modbus转profinet网关可以将Modbus协议转化为profinet协议&#xff0c;以实现设备之间的数据交互。在实际使用过程中&#xff0c;我们需要使用Modbus协议进行设备通讯&#xff0c;而profinet协议则是用于工业自动化…

一文解读python高阶功能:匿名函数到魔法方法(__call__)

文章目录 一、python中匿名方法的使用使用示例注意事项总结 二、匿名函数和魔法方法的结合示例&#xff1a;结合 lambda 和 __call__解释更复杂的示例 总结 一、python中匿名方法的使用 在 Python 中&#xff0c;匿名方法是通过 lambda 关键字定义的&#xff0c;通常称为 lamb…

云服务器新手配置内网穿透服务(frp)

首先你得有一个公网服务器&#xff0c;有了它你就可以借助它&#xff0c;将自己电脑进行配置内网穿透&#xff0c;让自己内网电脑也可以异地轻松访问。网上教程较多&#xff0c;特此记录我自己的配置&#xff0c;避免迷路&#xff0c;我这里只记录我自己云服务小白&#xff0c;…

基于STM32的火灾报警设备(阿里云平台)

目录 前言&#xff1a; 一、项目介绍和演示视频 二、硬件需求准备 三、硬件框图 1. 原理图 2. PCB 四、CubeMX配置 五、代码框架 前言&#xff1a; 源代码下载链接&#xff1a; https://download.csdn.net/download/m0_74712453/90474701 需要实物的可以私信博主或者…

学习笔记之车票搜索为什么用Redis而不是ES?

在文章正式开始前&#xff0c;大家打开 12306.cn 搜索一趟列车&#xff0c;根据搜索条件判断&#xff0c;数据搜索技术使用 ElasticSearch 或者其它搜索技术是否合适&#xff1f; 这里我先把答案说下&#xff0c;12306 车票搜索用的是 Redis &#xff0c;而不是大家常用的 Ela…

揭秘AI:机器学习与深度学习的奥秘

文章目录 机器学习与深度学习1. 什么是人工智能&#xff1f;2. 机器学习、深度学习和人工智能又是什么关系&#xff1f;3. 人工智能解决了什么问题&#xff1f;为什么需要人工智能&#xff1f;4. 机器学习、深度学习常用术语1&#xff09;模型2&#xff09;数据集3&#xff09;…

NetLink内核套接字案例分析

一、基础知识 Netlink 是 Linux 系统中一种内核与用户空间通信的高效机制&#xff0c;而 Netlink 消息是这种通信的核心载体。它允许用户态程序&#xff08;如网络配置工具、监控工具&#xff09;与内核子系统&#xff08;如网络协议栈、设备驱动&#xff09;交换数据&#xff…

批量压缩与优化 Excel 文档,减少 Excel 文档大小

当我们在 Excel 文档中插入图片资源的时候&#xff0c;如果我们插入的是原图&#xff0c;可能会导致 Excel 变得非常的大。这非常不利于我们传输或者共享。那么当我们的 Excel 文件非常大的时候&#xff0c;我们就需要对文档做一些压缩或者优化的处理。那有没有什么方法可以实现…

基于深度学习的多模态人脸情绪识别研究与实现(视频+图像+语音)

这是一个结合图像和音频的情绪识别系统&#xff0c;从架构、数据准备、模型实现、训练等。包括数据收集、预处理、模型训练、融合方法、部署优化等全流程。确定完整系统的组成部分&#xff1a;数据收集与处理、模型设计与训练、多模态融合、系统集成、部署优化、用户界面等。详…

保姆级离线TiDB V8+解释

以前学习的时候还是3版本&#xff0c;如今已经是8版本了 https://cn.pingcap.com/product-community/?_gl1ujh2l9_gcl_auMTI3MTI3NTM3NC4xNzM5MjU3ODE2_gaMTYwNzE2NTI4OC4xNzMzOTA1MjUz_ga_3JVXJ41175MTc0MTk1NTc1OC4xMS4xLjE3NDE5NTU3NjIuNTYuMC41NDk4MTMxNTM._ga_CPG2VW1Y4…

spark实验2

一.实验题目 实验所需要求&#xff1a; centos7虚拟机 pyspark spark python3 hadoop分布式 统计历届春晚的节目数目 统计各个类型节目的数量&#xff0c;显示前10名 统计相声类节目历年的数目。 查询每个演员在春晚上表演节目的数量。 统计每年各类节目的数量&#xff0…

Manus:成为AI Agent领域的标杆

一、引言 官网&#xff1a;Manus 随着人工智能技术的飞速发展&#xff0c;AI Agent&#xff08;智能体&#xff09;作为人工智能领域的重要分支&#xff0c;正逐渐从概念走向现实&#xff0c;并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中&#xff0c;Manus以其独…

算法每日一练 (11)

&#x1f4a2;欢迎来到张胤尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 算法每日一练 (11)全排列题目描述解题思路解题代码c/c…

《Spring日志整合与注入技术:从入门到精通》

1.Spring与日志框架的整合 1.Spring与日志框架进行整合&#xff0c;日志框架就可以在控制台中&#xff0c;输出Spring框架运行过程中的一些重要的信息。 好处&#xff1a;方便了解Spring框架的运行过程&#xff0c;利于程序的调试。 Spring如何整合日志框架 Spring5.x整合log4j…

《SQL性能优化指南:新手如何写出高效的数据库查询

新手程序员如何用三个月成为SQL高手&#xff1f;万字自学指南带你弯道超车 在数据为王的时代&#xff0c;掌握SQL已成为职场新人的必修课。你可能不知道&#xff0c;仅用三个月系统学习&#xff0c;一个零基础的小白就能完成从数据库萌新到SQL达人的蜕变。去年刚毕业的小王就是…

【Unity】在项目中使用VisualScripting

1. 在packagemanager添加插件 2. 在设置中进行初始化。 Edit > Project Settings > Visual Scripting Initialize Visual Scripting You must select Initialize Visual Scripting the first time you use Visual Scripting in a project. Initialize Visual Scripting …