C++:algorithm常用函数
C++网址:www.clpusplus.com
algorithm是C++一个常用的头文件,译为“算法”,其中有几个常用库函数。
#include<algorithm>
#include<iostream>
using namespace std;
int main(){return 0;
}
1、sort(排序)
sort一般用于结构体数组排序
格式:
default (1)
template <class RandomAccessIterator>void sort (RandomAccessIterator first, RandomAccessIterator last);
custom (2)
template <class RandomAccessIterator, class Compare>void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
例:
#include<algorithm>
#include<iostream>
using namespace std;
int a[15],n;
bool cmp(int a,int b){return a>b;
}
int main(){cin>>n;for(int i=0;i<n;i++)cin>>a[i];sort(a,a+n,cmp);//cmp:排序顺序,不写则默认升序for(int i=0;i<n;i++)cout<<a[i]<<" ";return 0;
}
输入:
5
1 2 3 4 5
输出:
5 4 3 2 1
2、max/min(最大值/最小值)
max/min是求最大值/最小值的函数
格式:
max:
default (1)
template <class T> const T& max (const T& a, const T& b);
custom (2)
template <class T, class Compare>const T& max (const T& a, const T& b, Compare comp);
min:
default (1)
template <class T> const T& min (const T& a, const T& b);
custom (2)
template <class T, class Compare>const T& min (const T& a, const T& b, Compare comp);
注意:max/min只能传两参数!!!
例1:2参数
#include<algorithm>
#include<iostream>
using namespace std;
int a,b;
int main(){cin>>a>>b;cout<<max(a,b)<<endl;//最大值cout<<min(a,b);//最小值return 0;
}
输入:
1 7
输出:
7
1
例2:3参数
#include<algorithm>
#include<iostream>
using namespace std;
int a,b;
int main(){cin>>a>>b;cout<<max(max(a,b),c)<<endl;//最大值cout<<min(min(a,b),c);//最小值return 0;
}
输入:
1 2 3
输出:
3
1
3、swap(交换函数)
冒泡排序中可以用到,或者三变量法。
三变量法:
#include<algorithm>
#include<iostream>
using namespace std;
int a,b,t;
int main(){cin>>a>>b;t=a;a=b;b=t;cout<<a<<" "<<b<<endl;return 0;
}
输入:
1 2
输出:
2 1
格式:
// defined in <algorithm> before C++11
template <class T> void swap (T& a, T& b);
例1:
#include<algorithm>
#include<iostream>
using namespace std;
int a,b;
int main(){cin>>a>>b;swap(a,b);cout<<a<<" "<<b<<endl;return 0;
}
输入:
2 3
输出:
3 2
例二:冒泡排序
#include<algorithm>
#include<iostream>
using namespace std;
int n,a[100005];
int main(){cin>>n;for(int i=0;i<n;i++)cin>>a[i];for(int i=0;i<n;i++)for(int j=0;j<n-i-1;j++)if(a[j]>a[j+1])swap(a[j+1],a[j]);for(int i=0;i<n;i++)cout<<a[i]<<" ";return 0;
}
输入:
5
1 7 2 4 8
输出:
1 2 4 7 8
最后,请大家一键三连
C++:algorithm常用函数相关推荐
- #include algorithm 常用函数
#include <algorithm> 常用函数 accumlate : iterator 对标志的序列中的元素之和,加到一个由 init 指定的初始值上.重载的版本不再做加法,而是 ...
- algorithm常用函数
stable_sort() 稳定排序算法,相同值不改变位置 #include <iostream> #include <algorithm> using namespace s ...
- algorithm头文件下的常用函数-学习笔记
algorithm头文件下的常用函数-学习笔记 max(x,y),min(x,y),abs(x) swap(x,y) reverse(it,it2) next_permutation() fill( ...
- algorithm头文件下常用函数
algorithm头文件下常用函数 1.max(),min(),abs() 应用:max(x,y)和min(x,y)分别返回x和y中的最大值和最小值,且参数必须是两个. abs(x) 返回x的绝对值. ...
- ACM——常用函数总结
常用函数总结: 一.全排列:next_permutation 二.读写优化 三.返回容器内最大最小值 四.复制函数 五.容器删除函数 六.容器填充函数 七.查找函数 八.字符串转换整数 九.欧拉筛 十 ...
- predict函数 R_学习|R语言做机器学习的常用函数总结
预测函数:predict() type="prob"判别该量度的昆虫归类为A.B和C的概率:type="response":判别该量度的昆虫的类别: 预测分类的 ...
- 《MySQL》入门基础知识点大全:数据库操作、增删改查、联表查询、常用函数、MD5加密、事务特性、隔离级别
MySQL基础知识大全 1.操作数据库 1.1 创建表 1.2 修改表名 1.3 增加表的字段 1.4 修改表的字段 1.4.1 修改表的字段 1.4.2 修改表名 1.5 删除表的字段 1.6 删除 ...
- C++库常用函数一览表
本文中提到的函数库有:<string> <cctype> <algorithm> <cmath> <cstdlib> <iomanip ...
- C++编程题最常用函数汇总
内容会持续更新,有错误的地方欢迎指正,谢谢! 1.类型转化 string转int的方式 采用标准库cstdlib中atoi函数,<cstdlib>是C++里面的一个常用函数库, 等价于C中 ...
最新文章
- mysql5.6.37驱动_mysql 5.6.37(zip)下载安装配置图文教程
- 2个月精通Python爬虫——3大爬虫框架+6场实战+分布式爬虫,包教包会
- 想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ #精选JAVASCRIPT前端开发...
- 自动ssh登录的几种方法
- java 数据字典 spring_springboot+redis+切面实现数据字典功能
- 亿级流量请求,多级缓存解救
- xfce 双击窗口标题栏无法最大化解决办法
- SQL ROUND函数用法
- 微课|中学生可以这样学Python(5.8.1节):使用切片访问列表元素
- 自学python考哪些证书-【经验分享】想转行学python,过来人提醒大家几点
- C++多态虚函数/纯虚函数demo
- pythonATM,购物车项目实战4-settings配置设置
- 解码H264帧要注意的两个问题
- win7计算机锁频图片怎么设置,win7锁屏背景壁纸如何修改
- 毕向东 Java学习 笔记一
- 前端代码更新镜像后,浏览器显示缓存
- 神州十二号载人飞船和空间站对接成功 我们的目标是星辰大海!
- Typescript无法导入json的问题
- Apple Watch简述
- 告别360全家桶,安利一波电脑必备软件