Java Style的C++容器流式處理類
- 2022 年 10 月 11 日
- 筆記
很久没有上博客园了,最近一段时间,因为工作的关系时间上比较闲,利用闲暇时间重新翻了一下丢弃很久的C++语言。C++从98、11、14、17目前已经也走到了20版本,发生了很多变化,也引入了很多新的语言特性和库,让开发也更加的便、高效。 但用惯了Java后,发现其中Java的容器流式操作特别简单,封装 …
Continue Reading很久没有上博客园了,最近一段时间,因为工作的关系时间上比较闲,利用闲暇时间重新翻了一下丢弃很久的C++语言。C++从98、11、14、17目前已经也走到了20版本,发生了很多变化,也引入了很多新的语言特性和库,让开发也更加的便、高效。 但用惯了Java后,发现其中Java的容器流式操作特别简单,封装 …
Continue Reading题目链接 题目 见链接。 题解 知识点:STL,思维。 首先不考虑新加入的操作,先考虑一个固定的局面,给定了所有人的两个属性值 \(L\) 和 \(C\) ,找出有竞争力的人。 这类双变量的条件一般可以画在坐标系 \(L-C\) 查看,发现如果一个点坐标到原点构成的矩形内部(包括边,但不包括这个点本 …
Continue Reading前言 最近工期紧、任务多,没有时间更新博客,就水一期吧。虽然是水,也不能太水,刚好最近工作中遇到一个 sorter 多条件排序的问题,花费了半天时间来定位解决,就说说它吧。 背景 公司产品是一个跨端的数据传输 sdk,当下载资源时,会先从服务器拉取一批 peer,每个 peer 是包含要下载资源分片 …
Continue Reading
以下算法均包含在头文件 numeric 中 1.iota 该函数可以把一个范围内的序列从给定的 初始值 开始累加 先看用法。 例: 假设我需要一个长度为10,从5开始递增的序列 vector<int> a(10); iota(begin(a), end(a), 5); for (auto x : a …
Continue Reading一、仿函数简介 仿函数(functor)又称之为函数对象(function object),实际上就是 重载了()操作符 的 struct或class。 由于重载了()操作符,所以使用他的时候就像在调用函数一样,于是就被称为“仿”函数啦。 二、仿函数简要写法示例 一个很正常的需求,定义一个仿函数作为 …
Continue Reading
专题链接: 专题学习1 - Virtual Judge (vjudge.net) B - 全排列 题目 思想 这道题可以用DFS进行求解,但是一看到全排列,其实可以立刻想到一个STL函数: next_permutation(x.begin(),x.end()) (头文件#include )。 此函数 …
Continue Reading
本文采用在随机读取和插入的情况下测试map和unordered_map的效率 笔者的电脑是台渣机,现给出配置信息 处理器 : Intel® Pentium(R) CPU G850 @ 2.90GHz × 2 内存 : 7.7GiB 操作系统 : Ubuntu 20.04.2 LTS 64位(Noi …
Continue Reading写程序时,面临用Map还是unordered_map,总是很纠结,于是写了个程序进行测试 Map 与 unordered_map 横向与纵向测试,附带原始数据与测试程序 配置 配件 信息 CPU Intel® Pentium(R) CPU G3260 @ 3.30GHz × 2 内存 7.6 GiB …
Continue Reading开vector时要注意内存容易炸 最好的办法就是在开vector之后,对他进行一步操作 vector< int > a; a.resize(n); n就是你要开的数组的大小,此时数组里已经插入了n个零,占内存空间也只有n个int 还有另外一种方法 vector< int > a; a.reserve …
Continue Reading本文主要解决以下问题 STL中sort的使用方法 使用sort对vector的排序 使用sort对map排序 使用sort对list排序 STL中sort的使用方法 C++ STL 标准库中的 sort() 函数,本质就是一个模板函数。该函数专门用来对容器或普通数组中指定范围内的元素进行排序,排序规 …
Continue Reading