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

刷力扣题过程中发现的不熟的函数

C++中不熟的函数

1.memset()

头文件:<string.h>

void *memset(void *s,int c,unsigned long n);
为指针变量s所指的前n个字节的内存单元填充给定的int型数值c

如:

int a[10];
memset(a,0,sizeof(a)); //将数组a中的数全部赋值为0

2.sort()

(1)对于数组:

sort(a,a+length);//默认升序
sort(a,a+length,greater<int>())//从大到小排序
sort(a,a+length,cmp);//cmp是自己编写的函数bool cmp(int x,int y){return x>y;
}

(2)对于容器

sort(v.begin(),v.end());//默认升序
sort(v.begin,v.end(),greater<int>());//降序排序
sort(v.begin,v.end(),cmp);//使用自定义的函数排序,和上面的类似

3.accumulate()

#include<numeric>
//前两个参数是累加的元素范围 第三个参数是累加和的初值
int sum = accumulate(vec.begin() , vec.end() , 42); 

4.find()

//target为目标值
vector<int>::iterator result = find(vec.begin(), vec.end(), target); 
if(result == vec.end()){//不存在
}else{//存在
}

5.min_element()和max_element()

参考:
Min_element和Max_element函数

用于查找数组或容器的最值
返回迭代器,若要知道位置,则需减去起始位置

#include<iostream>
#include<algorithm> // 函数头文件
using namespace std;int main(){//数组int a[3] = {3, 1, 2};cout << "元素内最大值的位置为: " << max_element(a, a + 3) - a << endl;cout << "元素内最大值的值为: " << * max_element(a, a + 3) << endl;cout << "元素内最小值的位置为: " << min_element(a, a + 3) - a << endl;cout << "元素内最小值的值为: " << * min_element(a, a + 3) << endl;//字符串string s = "312";cout << "元素内最大值的位置为: " << max_element(s.begin(), s.end()) - s.begin() << endl;cout << "元素内最大值的值为: " << * max_element(s.begin(), s.end()) << endl;cout << "元素内最小值的位置为: " << min_element(s.begin(), s.end()) - s.begin() << endl;cout << "元素内最小值的值为: " << * min_element(s.begin(), s.end()) << endl;//容器vector<int> v ={3, 1, 2};cout << "元素内最大值的位置为: " << max_element(v.begin(), v.end()) - v.begin() << endl;cout << "元素内最大值的值为: " << * max_element(v.begin(), v.end()) << endl;cout << "元素内最小值的位置为: " << min_element(v.begin(), v.end()) - v.begin() << endl;cout << "元素内最小值的值为: " << * min_element(v.begin(), v.end()) << endl;
}

参考资料:

  1. C++小知识
  2. Min_element和Max_element函数
http://www.lryc.cn/news/290835.html

相关文章:

  • native2ascii命令详解
  • 什么是Vue Vue入门案例
  • 【C/Python】GtkApplicationWindow
  • SpringBoot自定义全局事务
  • 【FINEBI】finebi中常用图表类型及其适用场景
  • Kaggle竞赛系列_SpaceshipTitanic金牌方案分析_数据分析
  • Tortoise-tts Better speech synthesis through scaling——TTS论文阅读
  • 单元测试工具JEST入门——纯函数的测试
  • Elasticsearch Windows版安装配置
  • 安装 vant-ui 实现底部导航栏 Tabbar
  • GitHub国内打不开(解决办法有效)
  • Unity之第一人称角色控制
  • 23种设计模式-结构型模式
  • python -- 流程控制
  • Centos 7.9 在线安装 VirtualBox 7.0
  • mysql之基本查询
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DataPanel组件
  • qt5-入门
  • 【重磅发布】已开放!模型师入驻、转格式再升级、3D展示框架全新玩法…
  • Qt 基础之QDataTime
  • 美国将限制中国,使用Azure、AWS等云,训练AI大模型
  • 智能指针|巨巨巨详细
  • 硬件知识(2) 手机的传感器-sensor
  • Kotlin快速入门系列9
  • nginx+nginx-rtmp-module+ffmpeg进行局域网推流rtmp\m3u8
  • PMP备考笔记:模拟考试知识点总结
  • docker程序镜像的安装
  • openssl3.2 - .pod文件的查看方法
  • 力扣238. 除自身以外数组的乘积(前后缀和)
  • Java玩转《啊哈算法》排序之快速排序