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

C++函数与STL

一、万能头

#include<bits/stdc++.h>

using namespace std;
#define int long long //万一题目卡数值范围

signed main()
{
   
    return 0;
}

二、常用函数

 1、排序函数

正序:

        sort(a, a + n);

逆序:

        先sort(a, a + n);

        再reverse(a, a + n); //n是你要排序的元素的末尾位置

2、字符串

(1)得到字符串长度

string s = "abcdef";
int m = s.length();

(2)截取字符串一部分字符

string s = "12345678";
s = s.substr(2,3); //开始截取的位置,要截取的长度
    //输出:“345”

3、最大公约数

int a = 6, b = 8;
int c = __gcd(a, b); //注意是两个底杠

4、取最大最小值函数

利用max(),min();

int a = 4, b = 6;
int c = max(a, b);

 三、STL

(1)队列

    //创建
    queue<int>q;
    //入队
    q.push(5);
    //得到对头元素
    int a = q.front();
    //出队
    q.pop();
    //判断是否为空
    bool flag = q.empty();
    //得到尺寸
    int a = q.size();

(2)栈

    stack<int>s;
    s.empty()	//判断栈是否为空。如果栈为空,返回 true,否则返回 false。
    s.size()	//返回栈中实际的元素个数。
    s.push(e)	//将元素e压入栈顶。
    s.top()	//访问栈顶元素。
    s.pop()	//移除栈顶元素。

(3)优先队列

    priority_queue<int> q;//初始化,默认为大顶堆,即从大到小排序
    priority_queue<int, vector<int>, greater<int> > q;//小顶堆,即从小到大排序
    top()//访问队首元素(优先级最高的那个元素)
    pop()://弹出优先级最高的元素
    push()://塞元素进队列
    empty() //是否空和
    size()://元素个数

 四、数字提取+进制转换

(1)将字符转成数字

char ch = '7';

int x = ch - '0';

#include<bits/stdc++.h>

using namespace std;
#define int long long //万一题目卡数值范围

signed main()
{
    string s;
    cin >> s;
    int x = 0;
    int n = s.length();
    for(int i = 0; i < n; i ++)
    {
        if(s[i] >= '0' && s[i] <= '7')
        {
            int ch = s[i] - '0'; //将字符转成数字
            x = x * 10 + ch; 
        }
    }
    cout << x << '\n';
    //将八进制转成十进制
    int num = 0; //最终要得到的十进制
    int pos = 0; //位数
    while(x)
    {
        int a = x % 10;
        x /= 10;
        num = num + (a *pow(8, pos));
        pos ++;
        // cout << num << '\n';
    }
    cout << num;
    return 0;
}

 提取数字的方法和上边一样,主要看的是十进制转换成十六进制

http://www.dtcms.com/a/83335.html

相关文章:

  • 区块链交易
  • [AI速读]用脚本加速高速链路验证:一个高效覆盖率收敛方案
  • 【Tips】Vim文档的使用
  • mysql 对json的处理?
  • AI安全学习(刚开始,未完版)
  • 【C++基础】Lambda 函数 基础知识讲解学习及难点解析
  • OpenCV旋转估计(4)生成一个字符串表示的匹配图函数 matchesGraphAsString()
  • 区块链学习总结
  • DDT数据驱动
  • 说一下yolo的一些概念 和 自己对 置信度阈值 和图像处理模板匹配的理解
  • java设计模式之建造者模式《装修启示录》​
  • 基于DrissionPage的DY无水印视频采集
  • C++与OO思想的联系
  • React 18 如何定义变量,及赋值 与渲染
  • python网络爬虫开发实战之网页数据的解析提取
  • docker常见的命令详细介绍
  • java小白日记38(集合-List)
  • 来源于胡椒的亚甲二氧桥CYP450-文献精读119
  • Android Window浮窗UI组件使用JetPack
  • 剑指 Offer II 111. 计算除法
  • 如何在 Linux 系统中部署 FTP 服务器:从基础配置到安全优化
  • Softmax温度调节与注意力缩放:深度神经网络中的平滑艺术
  • iStoreOS软路由对硬盘格式化分区(转化ext4)
  • Redisson分布式锁(超时释放及锁续期)
  • 已安装MFC,仍然提示“error MSB8041: 此项目需要 MFC 库”
  • 14:00面试,15:00就出来了,问的问题过于变态了。。。
  • golang errgroup用法介绍结合
  • [特殊字符] 2025蓝桥杯备赛Day8——B2118 验证子串
  • Cesium 自定义路径导航材质
  • c#知识点补充4