algorithm库函数集合
不修改内容的序列操作:
修改内容的序列操作:
划分操作:
排序操作:
二分法查找操作:
集合操作:
堆操作:
最大/最小操作:
附上 巡防算法
for_each(容器起始地址,容器结束地址,要执行的方法)
[html] view plain copy
#include <iostream>
#include <algorithm>
#include <vector> using namespace std; template<class T>
struct plus2
{ void operator()(T&x)const { x+=2; } }; void printElem(int& elem)
{ cout << elem << endl;
} int main()
{ int ia[]={0,1,2,3,4,5,6}; for_each(ia,ia+7,printElem);//输出 int ib[]={7,8,9,10,11,12,13}; vector<int> iv(ib,ib+7); for_each(iv.begin(),iv.end(),plus2<int>());//更改元素 for_each(iv.begin(),iv.end(),printElem);//输出 return 0;
}
lower_bound( )与upper_bound( )用法
这两个函数都是求序列中第一个比键值大(区别于等于)的元素的地址如果要求第一个比键值小的元素的地址,则需要自定义函数或者使用greater 其中start和end是序列的地址 bool cmp(const int &a,const int &b)/自定义函数,
{return a>b;
}
int main()
{upper_pound(start,end,key);//返回区间[start, end]中第一个>key元素的地址 lower_pownd(start,end,key); //返回区间[start, end]中第一个>=key元素的地址-----------------------------------------------------lower_pound(start,end,key,cmp);//返回区间[start, end]中第一个 <=key元素的地址lower_bound(star,end,key,greater<int>());//返回区间[start, end]中第一个 <=key元素的地址upper_pound(start,end,key,cmp);//返回区间[start, end]中第一个<key元素的地址 upper_pound(start,end,key,greater<int>());//返回区间[start, end]中第一个<key元素的地址
}
algorithm库函数集合相关推荐
- C++STL库之algorithm库
algorithm库函数集合: 不修改内容的序列操作: adjacent_find 查找两个相邻(Adjacent)的等价(Identical)元素 all_ofC++11 检测在给定范围中是否所有元 ...
- 蓝桥杯集训之STL和algorithm
文章目录 配套视频 一. STL部分 1.1 queue (FIFO) 1.1.1 头文件 1.1.2 定义 1.1.3 基本操作 1.1.4 应用 1.2 stack (FILO) 1.2.1 头文 ...
- python中使用什么获取两个集合的补集_python中求两个List的交集、并集和差集
# ! /usr/bin/env python # encoding:utf-8 if __name__ == '__main__': a = [1,2,3,4,5] b = [2,3,6,7] u ...
- 原根(知识学习+板子总结+例题+应用)
思路来源 https://baike.baidu.com/item/%E5%8E%9F%E6%A0%B9/8103534?fr=aladdin https://blog.csdn.net/zoro_n ...
- C++常用STL库详细总结
C++STL库函数总结 #include< algorithm >库函数 1.sort排序 2.reverse倒转 3.unique去重 4.二分查找 5.find函数查找 6.字符串和整 ...
- 离散数学/初等数论:用“质因子分解法”和“欧几里得算法”求最大公约数gcd;“质因子分解法”和“最简算法”求最小公倍数lcm;以及对“意义”的一些看法。
需要在开头提前说明,本篇文章仅仅用于在学习初等数论或者离散数学时候对算术基本定理的理解,实际应用的时候把结论告诉大家,想求最大公约数就用欧几里得算法是最简单的,在本篇不再赘述,有机会我会在其他文章中说 ...
- ACM寒假训练第二周总结
时间:2022.1.17--2022.1.23 一.刷题记录 1. P1271 [深基9.例1]选举学生会 using namespace std; int a[1005]={0}; int main ...
- Python之pip:Python语言中的pip的简介、安装、使用方法之详细攻略
Python之pip:Python语言中的pip的简介.入门.使用方法之详细攻略 目录 pip的简介 pip的安装 1.Linux之Ubuntu系统安装pip3 pip的使用方法 1.pip命令集合 ...
- error: Microsoft Visual C++ 14.0 is required问题解决方案
error: Microsoft Visual C++ 14.0 is required问题解决方案汇总 用pip或者conda安装一些库函数的时候提示错误:error: Microsoft Visu ...
最新文章
- 网曝 Solaris 系统被砍,开发团队将大半被解雇
- hadoop3.1.1 HA高可用分布式集群安装部署
- jQuery练手之滑动出现效果
- c++课程设计(水)
- 香农编码实验报告matlab,实验三 香农编码
- 黑客攻防技术宝典浏览器实战篇
- 单片机c语言设计奥运五环,用C语言程序来设计奥运五环图案
- 综合布线系统在计算机信息系统中属于,计算机信息系统综合布线问题
- Verilog中的!和~
- [教程资源] HTC Vive UI Guideline
- 新浪sae部署微信订阅号
- Go设计模式--访客模式
- zbb20180930 设计模式-单例模式
- 引入 JPEGCodec;JPEGImageEncoder; 图片处理
- 【论文翻译】Fully Convolutional Networks for Semantic Segmentation_2
- Java匿名类的用法及注意点
- Docker使用问题汇总
- 微机原理与接口技术--微型计算机的基本结构
- 2018年安徽省英语计算机AB级考试作文,英语AB级作文模板
- php app 社交 开源,开源app
热门文章
- 文献集锦 | 非因生物空间多组学技术在头颈部肿瘤中的研究策略
- 自然语言处理1 -- 分词
- 详解TCP连接的建立
- 【原创】讲讲自己试用期被劝退的经历!
- 微信公众号html页面模板,微信公众平台中怎么使用页面模板?
- 测试中出现ERROR StatusLogger No log4j2 configuration file
- xcode5真机调试教程 xcode5真机测试步骤
- 解答WPF中ComboBox SelectedItem Binding不上的Bug
- 化工业环境容器衬里防腐设备用环氧酚醛面漆 具有非常好的耐酸性
- Jquery插件Thickbox的使用总结及自定义设置