写在前面: 为了能够使后续的代码具有高效简洁的特点,在这里讲一下STL,就不用自己写堆,写队列,但是做为ACMer不用学的很全面,我认为够用就好,我只写我用的比较多的。 什么是STL(STl内容): 容器(Container): 是一种数据结构,如list,vector,和deques ,以模板类的 ...
分类:
编程语言 时间:
2019-08-05 17:23:51
阅读次数:
115
使用STL算法离散化: 思路:先排序,再删除重复元素,然后就是索引元素离散化后对应的值。 1. unique(): 头文件为algorithm unique的作用是“去掉”容器中相邻元素的重复元素(不一定要求数组有序),它会把重复的元素添加到容器末尾(所以数组大小并没有改变),而返回值是去重之后的尾 ...
分类:
其他好文 时间:
2019-05-01 18:48:50
阅读次数:
150
一:算法概述 二:算法分类 (一)根据操作对象分类 (二)根据功能分类 1.非可变序列算法:指不直接修改其所操作的容器内容的算法 2.可变序列算法:指可以修改它们所操作的容器内容的算法 3.排序算法: 包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作 4.数值算法: 对容器内容进行数 ...
分类:
编程语言 时间:
2019-04-29 20:57:47
阅读次数:
141
partial_sort接受一个middle迭代器。使序列中的middle-first个最小元素以递增顺序排序,置于[first, middle)内。以下是測试代码: #include <iostream> #include <vector> #include <algorithm> using n ...
分类:
编程语言 时间:
2019-03-29 13:07:54
阅读次数:
188
partial_sort接受一个middle迭代器,使序列中的middle-first个最小元素以递增顺序排序,置于[first, middle)内。下面是测试代码: #include <iostream>#include <vector>#include <algorithm> using nam ...
分类:
编程语言 时间:
2019-02-01 18:02:02
阅读次数:
203
1 概述 STL算法部分主要由头文件\,\,\组成。要使用 STL中的算法函数必须包含头文件\,对于数值算法须包含\,\中则定义了一些模板类,用来声明函数对象。 2 常用算法介绍 STL中算法大致分为四类: 非可变序列算法:指不直接修改其所操作的容器内容的算法。 可变序列算法:指可以修改它们所操作的 ...
分类:
编程语言 时间:
2019-01-13 22:47:38
阅读次数:
205
介绍了5种迭代器类型,迭代器适配器(特殊的迭代器),插入迭代器,流迭代器,反向迭代器,移动迭代器。以及STL算法的基本使用方法 ...
分类:
编程语言 时间:
2018-12-30 22:21:47
阅读次数:
248
函数对象和谓词定义 函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一个类对象,如果没有上下文,完全可以把它看作一个函数对待。 这是通过重载类的oper ...
分类:
编程语言 时间:
2018-10-13 19:51:12
阅读次数:
239
// STL算法.cpp : 定义控制台应用程序的入口点。 //最后修改时间:2018/02/13,测试平台 vs2017 /* STL六个部分 容器:见相关工程,学习上有两个难点:双端队列的实现细节,RBtree实现细节 分配器:allocator,学习版本是侯捷的书,sgi新版本增了继承层次。内... ...
分类:
编程语言 时间:
2018-10-01 00:16:22
阅读次数:
239
算法部分主要由头文件<algorithm>,<numeric>和<functional>组成。 <algorithm>是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、反转、排序、合并等等。 <numeric>体积很小,只包括几个在序列上面进行简单数学 ...
分类:
编程语言 时间:
2018-09-16 16:08:29
阅读次数:
142