当前位置: 首页 > 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;
}

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

相关文章:

  • 区块链交易
  • [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. 计算除法
  • 三星“七天机”质保期内屏幕漏液被要求自费维修,商家:系人为损坏
  • 读图|展现城市品格,上海城市影像走进南美
  • 如此城市|上海老邬:《爱情神话》就是我生活的一部分
  • 全球第七个迪士尼主题公园将落户阿布扎比
  • 五月A股怎么买?券商金股电子权重第一,格力电器最热
  • 世界哮喘日|专家:哮喘无法根治,“临床治愈”已成治疗新目标