常用C++模版

目录


本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。
因此,若需转载/引用本文,请注明作者并附原文链接,且禁止删除/修改本段文字。
违者必究,谢谢配合。
个人主页:blog.csdn.net/jzwalliser

前言

学完Python后再学C++,会有一种神奇的感觉,因为许多Python的内置函数用的很方便,但C++都没有,需要自己写,如整数和字符串的转换。这篇文章中,就一起看看常用函数的写法吧!

类型转换

int 转 string

网上有许多int和string互转的方法,但在我看来都挺繁琐。使用stringstream其实最方便。

#include<sstream> //必须导入sstream或bits/stdc++库
int to_int(string str){stringstream ss; //创建stringstream流int num;ss << str; //str流入stringstreamss >> num; //stringstream流入numreturn num;
}

string 转 int

#include<sstream> //必须导入sstream或bits/stdc++库
string to_str(long long int num){stringstream ss; //创建stringstream流string str;ss << num; //num流入stringstreamss >> str; //stringstream流入strreturn str;
}

进制转换

10进制转n进制( 2 ≤ n ≤ 16 , n ∈ Z 2\leq n\leq 16,n\in \mathbb Z 2n16,nZ

用于将10进制的数转换位n进制。

string dec_to_m(int n,int m){ //十进制数n转m进制string digit = "0123456789ABCDEF"; //位数if(n == 0){ //如果除完了return "";}return dec_to_m(n / m,m) + digit[n % m]; //依次相除并添加位数
}

n进制转10进制( 2 ≤ n ≤ 16 , n ∈ Z 2\leq n\leq 16,n\in \mathbb Z 2n16,nZ

用于将n进制的数转换为10进制。

long long int n_to_dec(string m,int base){ //base进制的数字mreverse(m.begin(),m.end()); //将数字反转过来,方便遍历long long int ans = 0; //十进制的数for(int i = 0;i < m.size();i++){ //遍历每一位int digit; //当前位if('0' <= m[i] and m[i] <= '9'){ //将字符转换为整数digit = m[i] - '0';}else if('A' <= m[i] and m[i] <= 'Z'){ //如果是16进制则需要处理字母digit = m[i] - 'A' + 10;}else if('a' <= m[i] and m[i] <= 'z'){ //如果是16进制则需要处理字母digit = m[i] - 'a' + 10;}ans += pow(base,i) * digit; //依次累加}return ans;
}

数学

lowbit

利用二进制的特性,可以将数字的二进制表示法最末尾的 1 1 1取出来。

int lowbit(int num){return num & (-num);
}

Miller-Rabin 判断素数

bool prime(long long int n){if(n <= 1){ //如果是1或0则不是素数return false;}for(long long int i = 2;i <= sqrt(n);i++){ //从2开始枚举到sqrt(n)if(n % i == 0){ //如果里面有n的因数则n不是素数return false; //可以结束函数的运行了}}return true; //是素数
}

快速幂

long long int fastpow(int a,int n){long long int ans = 1;while(n){if(n & 1){ //当前位需要乘ans *= a;}a *= a; //平方n = n >> 1; //将n右移一位}return ans;
}

最大公约数

int gcd(int a,int b){if(b){return gcd(b,a % b);}return a;
}

最小公倍数

int gcd(int a,int b){if(b){return gcd(b,a % b);}return a;
}int lcm(int a,int b){return a * b / gcd(a,b);
}

其它算法

并查集

const int N = 10005;
int s[N];
void init(){ //初始化for(int i = 1;i <= N;i++){s[i] = i;}
}
int find(int x){ //查找if(x != s[x]){s[x] = find(s[x]); //路径压缩}return s[x];
}void merge(int x,int y){x = find(x);y = find(y);if(x != y){s[x] = s[y];}
}

结尾

以上就是几个常用的C++模板了,也许在哪里会用到呢。
大家还想要什么模板呢?评论区见~
给个赞再走哦~

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

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

相关文章

pycharm像jupyter一样在控制台查看后台变量

更新下&#xff1a;这个一劳永逸不用一个一个改 https://blog.csdn.net/Onlyone_1314/article/details/109347481 右上角运行

Spring IoC容器(四)容器、环境配置及附加功能

本文内容包括容器的Bean 及 Configuration 注解的使用、容器环境的配置文件及容器的附加功能&#xff08;包括国际化消息、事件发布与监听&#xff09;。 1 容器配置 在注解模式下&#xff0c;Configuration 是容器核心的注解之一&#xff0c;可以在其注解的类中通过Bean作用…

UniApp 快速上手与深度学习指南

一、UniApp 简介 UniApp 是中国DCloud公司研发的一款创新的跨平台应用开发框架,它基于广受欢迎的前端开发库Vue.js,旨在解决多端适配和快速开发的问题。通过UniApp,开发者能够采用一套统一的代码结构、语法和API来构建应用程序,从而实现真正意义上的“一次编写,到处运行”…

DevOps落地笔记-20|软件质量:决定系统成功的关键

上一课时介绍通过提高工程效率来提高价值交付效率&#xff0c;从而提高企业对市场的响应速度。在提高响应速度的同时&#xff0c;也不能降低软件的质量&#xff0c;这就是所谓的“保质保量”。具备高质量软件&#xff0c;高效率的企业走得更快更远。相反&#xff0c;低劣的软件…

消息中间件之RocketMQ源码分析(八)

RocketMQ中的消息过滤 RocketMQ设计了消息过滤&#xff0c;来解决大量无意义流量的传输:即对于客户端不需要的消息&#xff0c; Broker就不会传输给客户端&#xff0c;以免浪费宽带&#xff0c;RocketMQ4.2.0支持Tag过滤、SQL92过滤、Filter Server过滤 Tag过滤 第一步:用户发…

chrome扩展插件常用文件及作用

Chrome扩展通常包含以下常用文件及其作用&#xff1a; manifest.json&#xff1a; 描述了扩展的基本信息&#xff0c;如名称、版本、权限、图标等。定义了扩展的各种组件和功能&#xff0c;包括后台脚本、内容脚本、页面、浏览器动作按钮等。 background.js&#xff1a; 后台脚…

蓝桥杯Web应用开发-CSS3 新特性【练习三:文本阴影】

文本阴影 text-shadow 属性 给文本内容添加阴影的效果。 文本阴影的语法格式如下&#xff1a; text-shadow: x-offset y-offset blur color;• x-offset 是沿 x 轴方向的偏移距离&#xff0c;允许负值&#xff0c;必须参数。 • y-offset 是沿 y 轴方向的偏移距离&#xff0c…

Swift Combine 管道 从入门到精通三

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二 1. 用弹珠图描述管道 函数响应式编程的管道可能难以理解。 发布者生成和发送数据&#xff0c;操作符对该数据做出响应并有可能更改它&#xff0c;订阅者请求并接收这些数据。 这…

LoveWall v2.0Pro社区型校园表白墙源码

校园表白墙&#xff0c;一个接近于社区类型的表白墙&#xff0c;LoveWall。 源码特色&#xff1b; 点赞&#xff0c; 发评论&#xff0c; 发弹幕&#xff0c; 多校区&#xff0c; 分享页&#xff0c; 涉及违禁物等名词进行检测&#xff01; 安装教程: 环境要求&#xff1b;…

一文读懂|Apollo自动驾驶平台9.0全面解读

2023年12月19日&#xff0c;百度正式推出了Apollo开放平台的全新升级版本--Apollo开放平台9.0&#xff0c;面向所有开发者和生态合作伙伴&#xff0c;以更强的算法能力、更灵活易用的工具框架&#xff0c;以及更易拓展的通用场景能力&#xff0c;继续构筑自动驾驶开发的领先优势…

极限的反问题【高数笔记】

1. 什么是极限反问题&#xff1f; 2. 极限反问题分为几类&#xff1f; 3. 每一类极限反问题的具体做法是什么&#xff1f; 4. 每一类极限反问题具体做法是否有前提条件&#xff1f; 5. 例题&#xff1f;

Ubuntu上开启SFTP服务教程

我是卷福同学&#xff0c;目前开始从事安全方面工作&#xff0c;努力学习网络安全基础知识&#xff0c;了解FTP、SFTP、RSYNC服务 在Ubuntu服务器上安全地传输文件&#xff0c;SFTP&#xff08;SSH文件传输协议&#xff09;是一个理想的选择。相比于传统的FTP&#xff0c;SFTP通…

本地安全策略 | 服务器管理 | 配置项

本地安全策略 Windows 本地安全策略是一组在本地计算机上配置的安全设置&#xff0c;用于管理计算机的安全性和访问控制。这些策略是针对单个计算机的&#xff0c;与域策略不同&#xff0c;本地安全策略不通过域控制器进行集中管理。本地安全策略通过本地组策略编辑器进行配置…

Objective-C中对象与对象之间的关系

1. 聚合关系&#xff08;Aggregation&#xff09; 聚合关系是一种强关联但具有独立生命周期的关系。在聚合关系中&#xff0c;一个对象&#xff08;容器对象&#xff09;可以 包含其他对象&#xff08;成员对象&#xff09;&#xff0c;但成员对象可以独立存在&#xff0c;不…

Linux---线程

线程概念 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部的控制序列” 一切进程至少都有一个执行线程 线程在进程内部运行&#xff0c;本质是在进程地址空间内运行 在Linux系统中&#xff0c;在CPU眼中…

数据结构第十二天(队列)

目录 前言 概述 源码&#xff1a; 主函数&#xff1a; 运行结果&#xff1a; 前言 今天和大家共享一句箴言&#xff1a;我本可以忍受黑暗&#xff0c;如果我不曾见过太阳。 概述 队列&#xff08;Queue&#xff09;是一种常见的数据结构&#xff0c;遵循先进先出&#…

25、数据结构/二叉树相关练习20240207

一、二叉树相关练习 请编程实现二叉树的操作 1.二叉树的创建 2.二叉树的先序遍历 3.二叉树的中序遍历 4.二叉树的后序遍历 5.二叉树各个节点度的个数 6.二叉树的深度 代码&#xff1a; #include<stdlib.h> #include<string.h> #include<stdio.h> ty…

Spark Standalone 集群配置

前言 平时工作中主要用 YARN 模式,最近进行TPC测试用到了 Standalone 模式,便记录总结一下 Standalone 集群相关的配置。 集群管理类型 Spark 支持三种集群管理类型: Standalone - Spark附带的一个简单的集群管理器,可以轻松地设置集群。Apache Mesos - 一个通用的集群管…

UDP是什么,UDP协议及优缺点

UDP&#xff0c;全称 User Datagram Protocol&#xff0c;中文名称为用户数据报协议&#xff0c;主要用来支持那些需要在计算机之间传输数据的网络连接。 UDP 协议从问世至今已经被使用了很多年&#xff0c;虽然目前 UDP 协议的应用不如 TCP 协议广泛&#xff0c;但 UDP 依然是…

提速MySQL:数据库性能加速策略全解析

提速MySQL&#xff1a;数据库性能加速策略全解析 引言理解MySQL性能指标监控和评估性能指标索引优化技巧索引优化实战案例 查询优化实战查询优化案例分析 存储引擎优化InnoDB vs MyISAM选择和优化存储引擎存储引擎优化实例 配置调整与系统优化配置调整系统优化优化实例 实战案例…