![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
C++
饮冰l
这个作者很懒,什么都没留下…
展开
-
C++基础 -- 优先队列 priority_queue
1. 定义:priority_queue<Type, Container, Functional>Type 是数据类型。Container 是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector)。Functional 是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆。2. 初始化//升序队列priority_queue <原创 2021-03-26 10:47:44 · 310 阅读 · 0 评论 -
C++基础 -- 队列容器 queue
# include<iostream># include<queue>using namespace std;int main() { queue<int> queue_example; // 1. 入队 .push() queue_example.push(2); queue_example.push(9); queue_example.push(1); // 2. 获取队列中的元素个数 .size() cout << "queue n原创 2021-03-23 15:21:46 · 357 阅读 · 0 评论 -
C++基础 -- unordered_set
1. 定义unordered_set<> 容器类型的模板定义在 unordered_set 头文件中。unordered_set<> 容器提供了和 unordered_map<> 相似的能力,但 unordered_set<> 可以用保存的元素作为它们自己的键。其中保存类型的对象在容器中的位置由它们的哈希值决定,因而需要定义一个 Hash<> 函数。这种容器不能存放重复的元素。元素类型必须可以比较是否相等,因为这可以确定元素什么时候相等。就像原创 2021-03-15 09:58:27 · 763 阅读 · 0 评论 -
C++刷题过程中的一些 tricks(持续更新)
1. 遍历 map,unordered_map// 遍历之后返回的自动类型是一个pair,注意此处map的话返回有顺序的,而unordered_map 没有顺序map<int, char> Map; for (auto & element : Map){ printf("%d, %c\n", element.first, element.second);}2. varibale 数据类型的快速转换char -> intstring a = '1'; int原创 2021-03-10 11:19:51 · 243 阅读 · 0 评论 -
C++基础 --- 二分查找
# include<iostream># include<vector>using namespace std;int init_num = -100;class Solution {public: // 查找已递增排序数组A中 大于等于(或者大于) 给定target的 第一个 元素的下标 // 当eq_enable为true时 对应 [大于等于] 的情况 // 当eq_enable为false时 对应 [大于] 的情况 int Bsear原创 2021-03-05 10:30:04 · 132 阅读 · 1 评论 -
C++基础 --- 二叉树的基本操作(创建二叉树(增加二叉树结点)、输出、计算叶子节点个数)
# include<iostream>using namespace std;int n = 0;// Definition for a binary tree node.struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr),原创 2021-03-03 10:58:20 · 985 阅读 · 0 评论 -
C++基础 --- 单向链表基本操作(增删改)
#include<iostream>using namespace std;// https://leetcode-cn.com/problems/add-two-numbers// Definition for singly-linked list.struct ListNode{ int val; // 当前结点的值 ListNode *next; // 指向下一个节点的指针 ListNode() : val(0), next(nullptr){}原创 2021-02-21 10:05:16 · 146 阅读 · 0 评论 -
C++基础 --- map与unordered_map 用法整理
1. mapmap是STL的一个关联容器,它提供一对一的hash。构建 map#include <map> // 使用 map 得包含 map 类所在的头文件using namespace std;// key 和 value 可以是任意你需要的类型,包括自定义类型。map<Key, Value> mapExample; // map 的构造函数第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);插入元素原创 2021-02-19 16:31:59 · 277 阅读 · 0 评论 -
C++ 基础 --- C++ 头文件和std命名空间、一维 vector 的输入与输出、调用类成员和属性的几种方法
1. C++ 头文件和std命名空间旧的 C++ 头文件,如 iostream.h、fstream.h 等将会继续被支持,尽管它们不在官方标准中。这些头文件的内容不在命名空间 std 中。新的 C++ 头文件,如 iostream、fstream 等包含的基本功能和对应的旧版头文件相似,但头文件的内容在命名空间 std 中。注意:在标准化的过程中,库中有些部分的细节被修改了,所以旧的头文件和新的头文件不一定完全对应。标准 C 头文件如 stdio.h、stdlib.h 等继续被支持。头文原创 2021-02-18 19:53:47 · 673 阅读 · 0 评论