algorithm下的常用函数
algorithm下的常用函数
max(),min(),abs()
- max(x,y)返回x和y中最小的数字
- min(x,y)返回x和y中最大的数字
- abs(x)返回x的绝对值,注意x应当是整数,如果是浮点数应当使用math头文件下的fabs函数
swap()
swap(x,y)交换x和y的值
reverse()
reverse(it,it2)可以将数组指针在[it,it2)之间的元素或者容器的迭代器在[it,it2)范围内进行元素反转。
对于数组中的元素
# include <iostream>
# include <algorithm>
using namespace std;
int main(void)
{
int a[5]={1,3,2,3,4};
reverse(a,a+4);//将a[0]~a[3]逆转
for(int i=0;i<5;i++)
{
cout<<*(a+i)<<endl;
}
return 0;
}
对于容器中元素
# include <iostream>
# include <algorithm>
using namespace std;
int main(void)
{
string s="abcdefghig";
reverse(s.begin(),s.end());
cout<<s<<endl;
return 0;
}
next_permutation()
next_permutation()给出一个序列在全排列的下一个序列
# include <iostream>
# include <algorithm>
using namespace std;
int main(void)
{
int a[10]={1,2,3};
do
{
cout<<a[0]<<' '<<a[1]<<' '<<a[2]<<endl;
}
while(next_permutation(a,a+3));
return 0;
}
fill()
可以将数组或者容器中某个区间赋值为某个相同的值,和memset不同的是,这里的赋值可以是数组类型范围内任意的值
int a[5]={1,2,3,4,5};
fill(a,a+5,233);//将a[0]~a[4]全部赋值为233
sort()
sort的基本使用
sort(首地址(必填),尾地址的后一个地址(必填),比较函数(非必填))
int a[6]={1,2,3,4,5,6};
sort(a,a+4);//对a[0]~a[3]进行排序
实现比较函数
基本排序
如果不填比较函数,会自动从小到大进行排序
规定比较函数排序
bool cmp(int a,int b)
{
return a>b;//可以理解为a>b的时候a放在b的前面
}
int a[6]={1,2,3,4,5,6};
sort(a,a+4,cmp);
结构体排序
struct node{
int x,y;
}ssd[10];
bool cmp1(node a,node b){
return a.x>b.x;
}
bool cmp2(node a,node b){
if(a.x!=b.x)
return a.x>b.y;//a.x和b.x和不相等的时候按照x从小到大排序
else
return a.y<b.y;//否则按照y从大到小排序
}
ssd[0].x=1;
ssd[0].y=2;
ssd[1].x=4;
ssd[1].y=2;
ssd[2].x=8;
ssd[2].y=4;
sort(ssd,ssd+3,cmp1);
容器排序
按照字典序排序
string str[3]={"aa","bb","cc"};
sort(str,str+3);//按照字典序进行排序
按照字符串长度进行排序
bool cmp(string a,string b){
return a.length()>b.length();
}
sort(str,str+3,cmp);
lower_bound()和upper_bound()
lower_bound()需要一个有序容器或者数组,其寻找[first,end)范围内第一个大于等于val的元素的位置,如果是数组就返回指针,如果是容器就返回迭代器
upper_bound()需要一个有序容器或者数组,其寻找[first,end)范围内第一个大于val的元素的位置,如果是数组就返回指针,如果是容器就返回迭代器
algorithm下的常用函数的更多相关文章
- STL algorithm 头文件下的常用函数
algorithm 头文件下的常用函数 1. max(), min()和abs() //max(x,y)和min(x,y)分别返回x和y中的最大值和最小值,且参数必须时两个(可以是浮点数) //返回3 ...
- algorithm头文件下的常用函数
algorithm头文件常用高效函数 max() max(a, b)返回a和b中的最大值,参数必须是两个(可以是浮点型). 1 #include <iostream> 2 #include ...
- STL下<algorithm>下的sort函数
定义: sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序.sort函数进行排序的时间复杂度为nlog2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#i ...
- STL下<algorithm>下的reverse函数
定义: reverse用于C++中,对给定区间所有元素进行排序,是一种反向函数,不具备排序功能.sort函数包含在头文件为#include<algorithm>的C++标准库中. 语法: ...
- pandas 学习(二)—— pandas 下的常用函数
import pandas as pd; 1. 数据处理函数 pd.isnull()/pd.notnull():用于检测缺失数据: 2. 辅助函数 pd.to_datetime() 3. Series ...
- algorithm 中的常用函数
非修改性序列操作(12个) 循环 对序列中的每个元素执行某操作 for_each() 查找 在序列中找出某个值的第一次出现的位置 fin ...
- 头文件algorithm中的常用函数
非修改性序列操作(12个) 循环 对序列中的每个元素执行某操作 for_each() 查找 在序列中找出某个值的第一次出现的位置 fin ...
- 【C++常用函数】头文件<algorithm>中的常用函数(绝对值,交换,比较)
swap(a,b) 用于交换a,b两个变量的值: max(a,b) 返回a,b中的最大值: min(a,b) 返回a,b中的最小值: abs(x) 返回x的绝对值,x必须是整数:
- Linux下常用函数-字符串函数
inux下常用函数-字符串函数 atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib ...
随机推荐
- jquery type属性 语法
jquery type属性 语法 作用:type 属性描述触发哪种事件类型.大理石直角尺 语法:event.typ 参数: 参数 描述 event 必需.规定要检查的事件.这个 event 参 ...
- BZOJ 3940 Censoring ( Trie 图 )
题目链接 题意 : 中文题.点链接 分析 : 直接建 Trie 图.在每一个串的末尾节点记录其整串长度.方便删串操作 然后对于问询串.由于可能有删串操作 所以在跑 Trie 图的过程当中需要拿个栈记录 ...
- poj 3625 (最小生成树算法)
Building Roads Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12203 Accepted: 3448 D ...
- cursor url 自定义鼠标样式
cursor可以自定义鼠标,写法是cursor:url(“图片路径”),pointer; url:需使用的自定义光标的 URL.图片类型需要是.cur或.ani和jpg,png等格式的(.cur或.a ...
- 客户端框架-MVP
MVP Model-View-Presenter MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当 ...
- Python列表解析和字典解析
python笔记_列表解析 相比于for循环,列表解析的语法是由底层c语言实现的,它和使用for循环遍历pyobject对象相比,性能会有很大的提升. 无条件子句的列表解析式 In [2]: [2*i ...
- Scala学习(三)——集合
基本数据结构 Scala提供了一些不错的集合. 数组 Array 数组是有序的,可以包含重复项,并且可变. val numbers = Array(1, 2, 3, 4, 5, 1, 2, 3, 4, ...
- 【Spark机器学习速成宝典】模型篇08支持向量机【SVM】(Python版)
目录 什么是支持向量机(SVM) 线性可分数据集的分类 线性可分数据集的分类(对偶形式) 线性近似可分数据集的分类 线性近似可分数据集的分类(对偶形式) 非线性数据集的分类 SMO算法 合页损失函数 ...
- Git:本地项目与远程仓库的git/clone
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_40197828/article/details/79283278 初识Git命令行将本地项 ...
- jquery数组的合并 对象的合并
直接转自:https://www.cnblogs.com/ooo0/p/7737678.html 1.数组的合并 1.1 concat方法 var a=[1,2,3],b=[4,5,6]; var c ...