C++笔试常用函数整理

news2024/12/26 0:19:05

数组

#include <vector>

push_back:向量尾部增加一个元素

pop_back:删除向量中最后一个元素

empty:判断向量是否为空,若为空,则向量中无元素

size : 输出队列中数据元素的个数

vector初始化相关:

vector<int> test(n, 0)

vector<int> test(5, 2);

vector二维数组的初始化方式:

vector<vector<bool>> test(m, vector<bool>(n, false))

vector<vector<int>> test(m, vector<int>(n, 0))

vector迭代器for遍历:

nums.begin()

nums.end()

nums.rbegin()


for (vector<int>::iterator iter = test.begin(); iter != test.end(); iter++)
{
    cout << *iter << endl;
}


队列

#include <queue>

push :在队列尾部插入元素

pop : 移除最顶端的数据

size : 输出队列中数据元素的个数

empty : 判断队列是否为空

front :返回队列中第一个元素,但是并不删除

back :返回队列中最后一个元素,并且不删除


双端队列

#include <deque>

pop_back():删除队列尾部的元素,无返回值;

pop_front():删除队列头部的元素,无返回值;

emplace_back():在队列尾部添加一个元素;

emplace_front():在队列头部添加一个元素;

front :返回队列中第一个元素,但是并不删除;

back :返回队列中最后一个元素,并且不删除;

size():获得队列大小;

empty() :判断队列是否为空。


#include <stack>

s.push(); //入栈

s.pop(); //出栈,只是删除栈顶元素,并不返回该元素

s.top(); //访问栈顶元素

s.empty(); //判断栈空,当栈空时,返回true

s.size(); //访问栈中元素个数


哈希表

有两种不同类型的哈希表:哈希集合和哈希映射

哈希集合是集合数据结构的实现之一,用于存储非重复值
哈希映射是映射数据结构的实现之一,用于存储(key, value)键值对

哈希映射:#include <unordered_map>

unordered_map是存储<key, value>键值对的关联式容器,其元素的排列顺序是无序的。

find(key):查找以值为 key 的元素,如果找到,则返回一个指向该元素的正向迭代器;反之,则返回一个指向容器中最后一个元素之后位置的迭代器;

count(key):在容器中查找值为 key 的元素的个数;

erase():删除指定元素;

哈希集合:#include <unordered_set>

find(key):查找以值为 key 的元素,如果找到,则返回一个指向该元素的正向迭代器;反之,则返回一个指向容器中最后一个元素之后位置的迭代器;

count(key):在容器中查找值为 key 的元素的个数,0或1

insert():向容器中添加新元素;

erase():删除指定元素;

empty():若容器为空,则返回 true;否则 false


最值函数

#include <algorithm>

max:比较得到最大元素。

min:比较得到最小元素。

min_stack.push( ::min(x, min_stack.top()) ); // ::min表示全局的min函数,将要压栈值和最小栈栈顶元素比较得到最小元素。

#include <cmath>

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    long int x = -101;
    double result;

    result = abs(x);
    cout << "abs(" << x << ") = |" << x << "| = " << result << endl;

    return 0;
}

 


二分查找

#include<algorithm>

lower_ bound(first,last,val)用来寻找在数组或容器的[first,last)范围内第一个值大于等于val的元素的位置,如果是数组,则返回该位置的指针;如果是容器,则返回该位置的迭代器。

upper_bound(first,last,val)用来寻找在数组或容器的[first,last)范围内第一个值大于val的元素的位置,如果是数组,则返回该位置的指针;如果是容器,则返回该位置的送代器。

#include<cstdio>
#include<algorithm> 
using namespace std;
int main(){
	int a[10] = {1,2,2,3,3,3,5,5,5,5};
	//寻找-1
	int* lowerPos = lower_bound(a,a+10,-1);
	int* upperPos = upper_bound(a,a+10,-1);
	printf("%d,%d\n",lowerPos-a,upperPos-a);

	return 0;
	
}
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> v = {1, 3, 5, 7, 9};
    int val = 6; // 要查找的值

    std::vector<int>::iterator it = std::lower_bound(v.begin(), v.end(), val);

    if (it != v.end()) {
        std::cout << "第一个大于等于 " << val << " 的元素位置为:" << std::distance(v.begin(), it) << '\n';
    }
    else {
        std::cout << "在容器中未找到大于等于 " << val << " 的元素\n";
    }

    return 0;
}


字符串string

#include <string>

string的多种构造方式:

string str1;                 //生成空字符串
string str2("123456789");    //生成"1234456789"的复制品
string str3("12345", 0, 3);  //结果为"123"
string str4("012345", 5);    //结果为"01234"
string str5(5, '1');         //结果为"11111"
string str6(str2, 2);        //结果为"3456789"

int length(); int size(); //求长度

to_string():将括号内的数字转化为字符串;

push_back():添加字符,而不是emplace_back!emplace_back()只适用于容器中存储的类型是对象,而不是基本类型;

substr():返回子字符串;

resize():改变字符数量。

#include <algorithm>

reverse:反转在[first,last)范围内的顺序;

sort():实现对数据的排序,第三个参数comp是排序的方法,默认的排序方法是从小到大排序。

#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int a,int b);
main(){
  //sort函数第三个参数自己定义,实现从大到小
  int a[]={45,12,34,77,90,11,2,4,5,55};
  sort(a,a+10,cmp);
  for(int i=0;i<10;i++)
    cout<<a[i]<<" ";
}
//自定义函数
bool cmp(int a,int b){
  return a>b;
}


数学相关

等差、等比数列通项和公式

等差通项:

等差求和公式:

等比通项公式:

等比求和公式:

 

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

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

相关文章

Java使用poi-tl1.9.1生成Word文档的几个小技巧

目录 前言 一、poi-tl简介 1、什么是poi-tl 2、常见的word生成对比 3、poi-tl功能点 二、poi-tl文档生成 1、模板准备 2、目标参数填充 3、生成效果 三、可能会遇到的问题 1、混合图表生成报错 2、图表参数设置技巧 总结 前言 也许在您的工作当中会碰到如下的一些场景…

python和django中安装mysqlclient失败的解决方案

在Pychram中和pip中安装mysqlclient都不成功&#xff0c;只能直接下载二进制包进行安装了&#xff0c;下载页面中根据python的版本选择对应WHL包下载&#xff0c;下载地址 mysqlclient PyPIhttps://pypi.org/project/mysqlclient/#files 通过pip命令进行安装 pip install d:\…

基于javascript的简单拖拽排序

基于javascript的简单拖拽排序 效果示例图代码示例 效果示例图 代码示例 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css">* {padding: 0px;margin: 0px;box-sizing:…

网工内推 | 数通网工专场,HCNP/CCNP认证优先

01 天津海展会议展览有限公司 招聘岗位&#xff1a;网络工程师&#xff08;数通方向&#xff09; 职责描述&#xff1a; 1、负责企业整体网络架构的设计、优化、部署及网络运维管理体系的的构建&#xff1b; 2、负责企业内网、外网、有线侧、无线侧网络策略的配置及调优&…

虚拟主播动捕设备,满足不同应用领域的3d虚拟主播直播需求

随着移动互联网的普及&#xff0c;直播行业迅速发展&#xff0c;用户规模持续上升&#xff0c;一度成为平台经济领域的中流砥柱&#xff0c;其中虚拟主播成为了直播赛道中一种新的内容形式。 3d虚拟主播是通过计算机生成的数字人&#xff0c;它们可以在直播中通过虚拟主播动捕…

Vue成绩案例实现添加、删除、显示无数据、添加日期、总分均分以及数据本地化等功能

一、成绩案例 ✅✅✅通过本次案例实现添加、删除、显示无数据、添加日期、总分均分以及数据本地化等功能。 准备成绩案例模板&#xff0c;我们需要在这些模板上面进行功能操作。 <template><div class"score-case"><div class"table">…

材料学博士生CSC资助德国联陪归来谈体会

作者许潇洒&#xff0c;为西北工业大学材料学院材料学专业博士研究生&#xff0c;受CSC高水平大学公派研究生项目&#xff0c;于2022年至2023年赴德国德累斯顿工业大学开展了为期12个月博士联合培养学习。访学归来&#xff0c;其撰文谈感受&#xff0c;知识人网小编转载如下&am…

润和软件与华秋达成生态共创合作,共同推动物联网硬件创新

7月11日&#xff0c;在2023慕尼黑上海电子展现场&#xff0c;江苏润开鸿数字科技有限公司(以下简称“润开鸿”)与深圳华秋电子有限公司(以下简称“华秋”)签署了生态共创战略合作协议&#xff0c;共同推动物联网硬件生态繁荣发展。当前双方主要基于润开鸿的硬件产品及解决方案开…

如何通过smardaten无代码开发平台快速搭建数据中台?

目录 一、数据中台是什么&#xff1f;二、数据中台的特点1、数据中台需要具备哪些特性&#xff1f;2、数据中台需要提供哪些服务&#xff1f; 三、数据中台搭建工具四、如何用无代码快速搭建数据中台1、多源数据接入2、数据流&#xff08;数据集成&#xff09;3、数据资产管理4…

el-table刷新后保持高亮并改变状态字段

一、需求&#xff1a; 1、点击左侧右边显示具体内容 2、点击右边确认 左侧依旧高亮并且改变启动状态颜色 3、点击刷新、重置、高级搜索等不高亮 右边也不显示具体内容 二、效果图&#xff1a; 三、具体实施 1、定义highlight-current-row 是否高亮行 <el-table ref&quo…

opencv -13 掩模

什么是掩膜&#xff1f; 在OpenCV中&#xff0c;掩模&#xff08;mask&#xff09;是一个与图像具有相同大小的二进制图像&#xff0c;用于指定哪些像素需要进行操作或被考虑。掩模通常用于选择特定区域或进行像素级别的过滤操作。 OpenCV 中的很多函数都会指定一个掩模&…

数据结构链表,结点的结构体定义以及增删改查的实现

一、单链表的定义和表示 线性表链式存储结构的特点是&#xff1a;用一组任意的存储单元存储线性表的数据元素&#xff08;这组存储单元可以是连续的&#xff0c;也可以是不连续的&#xff09;。因此&#xff0c;为了表示每个元素与其直接后继数据元素之间的逻辑关系&#xff0…

基于G6的弓字形流程图

需求 现在有个需求是类似于步骤条、流程图&#xff0c;但是节点比较多。 搜了很多类似组件&#xff0c;还是有各种问题。 尝试过的已有组件 一开始用的是element-ui自带的步骤条组件&#xff08;下图所示&#xff09;&#xff0c;但是节点过多&#xff0c;宽度不够的时候&am…

提升按钮效力:七大基本原则全面解析

按钮是交互设计中的基本元素。他们在用户和系统之间扮演重要角色。在本文中&#xff0c;我们将一起思考创建有效按钮所需了解的七个基本原则。 ⬇⬇⬇点击获取更多设计资源 https://js.design/community?categorydesign&sourcecsdn&planbbqcsdn768 让按钮看起来像按…

基于RASC的keil电子时钟制作(瑞萨RA)(1)----安装RASC

基于RASC的keil电子时钟制作_瑞萨RA_1安装RASC 概述硬件准备视频教程RA Smart Configurator软件下载RASC安装Keil下Renesas RA pack包安装 概述 RA Smart Configurator"是一种基于"灵活组合软件"概念的代码生成辅助工具。它可以自动生成微控制器的初始配置程序…

开源图片AI工具:推动计算机视觉领域的创新和合作

在当今数字化时代&#xff0c;人工智能技术的快速发展带来了许多令人兴奋的创新和应用。图片AI作为其中之一&#xff0c;为我们提供了全新的视觉体验和创作可能性。随着开源技术的推动&#xff0c;越来越多的图片AI工具被引入市场&#xff0c;为个人我们和开发者们带来了更多便…

Kafka消息监控管理工具Offset Explorer的使用教程

1、kafka监控管理工具 Offset Explorer是一款用于监控和管理Apache Kafka集群中消费者组偏移量的开源工具。它提供了一个简单直观的用户界面&#xff0c;用于查看和管理Kafka消费者组偏移量的详细信息。 Offset Explorer具有以下主要功能和特点&#xff1a; 实时监控&#x…

AVLTree深度剖析(单旋)

前言 二叉树搜索树是存在一定的缺陷问题的&#xff0c;当我们要插入的数据是有序&#xff0c;或者说接近于有序&#xff0c;&#xff0c;二叉搜索树及有可能退化为单支树&#xff0c;查找元素相当于在顺序表当中搜索元素&#xff0c;效率低下 --------------------------------…

LeetCode1657. 确定两个字符串是否接近

确定两个字符串是否接近 提示 中等 55 相关企业 如果可以使用以下操作从一个字符串得到另一个字符串&#xff0c;则认为两个字符串 接近 &#xff1a; 操作 1&#xff1a;交换任意两个 现有 字符。 例如&#xff0c;abcde -> aecdb 操作 2&#xff1a;将一个 现有 字符的每…

仓库管理软件有哪些功能?2023仓库管理软件该如何选?

对于现代企业或批发零售商&#xff0c;高效的仓库管理是确保供应链运作顺畅、库存控制精准的关键要素。在数字化时代&#xff0c;越来越多的企业和商户意识到采用仓库管理软件的重要性。 无论您是中小型企业还是中小商户&#xff0c;仓库管理都是不可忽视的一环。 一、选择仓库…