主要bb一下优先队列和字符串吧. 哦还有 bitset.优先队列定义很容易: priority_queue pq;内部是一个堆.基本操作pq.top() 取堆顶元素; (没有 front() 方法!)pq.push(x) 插入;pq.pop() 删除(删除堆顶);pq.empty() 判断是否为空.... ...
分类:
编程语言 时间:
2020-01-04 01:21:05
阅读次数:
88
解题思路 1.题目中说不能重复利用这个数组中同样的元素,可以想到STL中map的不重复特性 2.map中存储key是当前元素和target的差值,该差值可能在原nums中,也可能不在,value存储数可以理解为nums[i]这个元素在nums中的位置 3.因为是从首到尾的遍历,当后面出现的元素能够在 ...
分类:
其他好文 时间:
2020-01-02 09:22:11
阅读次数:
72
发现 zeromq 的 yqueue_t 模板类,其数据存储理念设计得非常妙。借这一理念,按照 STL 的泛型类 queue 的接口标准,我设计了一个线程安全的 单生产者/单消费者(单线程push/单线程pop) FIFO 队列,以此满足更为广泛的应用。 1. 数据存储理念的 ...
分类:
编程语言 时间:
2020-01-01 23:46:14
阅读次数:
110
tuple 的主要用途,就是把各种类型的参数组合成一个新的数据关联体(结构体),相当于早期的 std::pair 的泛化版本。 组合存储是方便了,但是,对于某些特定的应用场景,解包就成了个比较麻烦的事情。为此,我查看 gcc 8.2.0 版的 STL ...
分类:
编程语言 时间:
2020-01-01 23:23:30
阅读次数:
99
一、迭代器失效的类型a.由于插入元素,使得容器元素整体“迁移”导致存放原容器元素的空间不再有效,从而使得指向原空间的迭代器失效。b.由于删除元素使得某些元素次序发生变化使得原本指向某元素的迭代器不再指向希望指向的元素。 二、vector内部数据结构:数组随机访问每个元素,所需要的时间为O(1)在末尾 ...
分类:
编程语言 时间:
2020-01-01 18:50:00
阅读次数:
64
1.Socket 1.1、socket是一个应用编程接口,是一种特殊的文件描述符(可对其执行IO操作,open、write、close) 1.2、socket代表网络编程的一种资源 1.3、socket的类型 流式套接字(SOCK_STREAM):唯一对应TCP 提供一个面向连接、可靠的数据传输服务 ...
分类:
系统相关 时间:
2020-01-01 18:41:10
阅读次数:
90
网上的观点都不赞成继承STL. SO上的一篇问答: Is it okay to inherit implementation from STL containers, rather than delegate? The risk is deallocating through a pointer t ...
分类:
其他好文 时间:
2019-12-30 10:04:12
阅读次数:
79
copy:容器中指定元素拷贝到另一容器中 replace:将容器内指定范围内的旧元素改为新元素 replace_if:容器内指定范围为满足条件的元素替换为新元素 swap:互换两个容器的元素 1.copy #include<iostream> using namespace std; #includ ...
分类:
编程语言 时间:
2019-12-29 15:19:43
阅读次数:
69
set_intersection:求两个容器的交集 set_union:求两个集合的并集 set_difference:求两个集合的差集 1.set_intersection #include<iostream> using namespace std; #include <vector> #inc ...
分类:
编程语言 时间:
2019-12-29 15:09:28
阅读次数:
106
sort:对容器元素进行排序 random_shuffle:洗牌,指定范围内的元素随机调整次序 merge:容器元素合并,并存储到另一容器中 reverse:反转指定范围内的元素 1.sort #include<iostream> using namespace std; #include <alg ...
分类:
编程语言 时间:
2019-12-29 15:00:43
阅读次数:
83