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

做题常用操作

做题常用操作

  • 数组
    • vector
      • 初始化
      • 末尾添加元素
      • 使用迭代器访问
      • 创建多维数组
  • unordered_map和set
    • 初始化
    • 插入元素
    • 查找元素
    • 遍历元素
  • string
  • stack
  • queue

数组

vector

初始化

std::vector<int> vec3(5, 10);//5个10
std::vector<int> vec4 = {1, 2, 3, 4, 5};

末尾添加元素

 vec.push_back(1);

使用迭代器访问

    for (const auto& elem : vec) {std::cout << elem << " ";}

创建多维数组

// 创建一个3x4的二维数组,所有元素初始化为0std::vector<std::vector<int>> vec(3, std::vector<int>(4, 0));

unordered_map和set

初始化

std::unordered_map<int, std::string> umap;

插入元素

umap[1] = "one"; // 使用运算符[]插入元素
umap.insert({2, "two"}); // 使用insert方法插入元素
//set直接插入key

查找元素

if (umap.find(1) != umap.end()) {// 找到了键为1的元素std::string value = umap[1];
}

遍历元素

for (const auto& pair : umap) {std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}

string

std::string str1; // 默认构造函数,创建一个空字符串
std::string str2("Hello, World!"); // 使用C风格字符串进行初始化
std::string str3(str2); // 拷贝构造函数
std::string str4(10, 'a'); // 初始化为10个字符 'a'
std::string str1 = "Hello";
std::string str2 = "World";
std::string result = str1 + ", " + str2 + "!"; // 拼接字符串
str1 += " World!"; // 也可以使用 += 操作符

stack

#include <iostream>
#include <stack>int main() {std::stack<int> myStack;// Push elements onto the stackmyStack.push(10);myStack.push(20);myStack.push(30);// Access the top elementstd::cout << "Top element: " << myStack.top() << std::endl;// Pop the top elementmyStack.pop();// Check if the stack is emptyif (myStack.empty()) {std::cout << "Stack is empty" << std::endl;} else {std::cout << "Stack size: " << myStack.size() << std::endl;}return 0;
}

queue

#include <iostream>
#include <queue>int main() {std::queue<int> myQueue;// Push elements into the queuemyQueue.push(10);myQueue.push(20);myQueue.push(30);// Access the front elementstd::cout << "Front element: " << myQueue.front() << std::endl;// Access the back elementstd::cout << "Back element: " << myQueue.back() << std::endl;// Pop the front elementmyQueue.pop();// Check if the queue is emptyif (myQueue.empty()) {std::cout << "Queue is empty" << std::endl;} else {std::cout << "Queue size: " << myQueue.size() << std::endl;}return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PythonStudio 控件使用常用方式(二十七)TActionList
  • 探索Prompt调优的艺术:让AI更智能
  • 浅谈Sql Server 临时表
  • 执行docker compose命令出现 Additional property include is not allowed
  • 楼宇控制与智能家居实训室解决方案
  • linux系统编程:多任务编程(进程1)
  • 【Python快速入门和实践019】Python常用脚本-查看视频信息并压缩视频
  • C语言家教记录(六)
  • 【Qt】QWidget的toolTip属性
  • 函数递归那些事
  • MySQL基础练习题47-判断三角形
  • haproxy实验-2
  • Asciidoc 转化为 CSDN 帖子,完美数学公式
  • Ubuntu20.04 运行深蓝路径规划hw1
  • 微软披露Office最新零日漏洞,可能导致数据泄露
  • #Java异常处理
  • 78. Subsets
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JavaScript类型识别
  • Mithril.js 入门介绍
  • mysql 数据库四种事务隔离级别
  • mysql_config not found
  • Mysql数据库的条件查询语句
  • PHP的Ev教程三(Periodic watcher)
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • uni-app项目数字滚动
  • 产品三维模型在线预览
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 思考 CSS 架构
  • 微信公众号开发小记——5.python微信红包
  • 为视图添加丝滑的水波纹
  • 我有几个粽子,和一个故事
  • Prometheus VS InfluxDB
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • #Java第九次作业--输入输出流和文件操作
  • #QT(串口助手-界面)
  • (1)Nginx简介和安装教程
  • (4)事件处理——(7)简单事件(Simple events)
  • (C语言)二分查找 超详细
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二) 初入MySQL 【数据库管理】
  • (二)JAVA使用POI操作excel
  • (二)WCF的Binding模型
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (算法)求1到1亿间的质数或素数
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ****三次握手和四次挥手
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net core Redis 使用有序集合实现延迟队列
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET Micro Framework 4.2 beta 源码探析
  • .Net mvc总结