随笔分类 - C/C++
摘要:预备知识: 完全二叉树可以用数组表示: 从下标0开始存储数据:左子节点 = 2 * 父节点 + 1,右子节点 = 2 * 父节点 + 2; 从下标1开始存储数据:左子结点 = 2 * 父节点,右子节点= 2 * 父节点 + 1; 堆: 大根堆:父节点的值大于等于左右子节点的值; 小根堆:父节点的值小
阅读全文
摘要:搞了很久,记录一下: 一. 环境 OS:Ubuntu 20.04 VS Code:1.77.0 g++:g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 二. 配置文件 下面两个文件先不要手动创建,下面第三章会讲到: task.json:编译程序的配置文件; lau
阅读全文
摘要:// 1. 指针转换:int指针转换为char指针 #include <iostream> int main() { int a = 0xaabbccdd; char* p = (char*)&a; if (*p == 0xaa) { std::cout << "大端" << std::endl;
阅读全文
摘要:昨天做笔试题,发现不会接收,白白送了一题,记录一下 #include <bits/stdc++.h> using namespace std; int main() { vector<vector<int>> inputs; // 二维矩阵 int num; vector<int> input; /
阅读全文
摘要:noexcept 是新标准(C++11)引入的,其作用是我们承诺一个函数不抛出异常。标准库知道我们的函数不会抛出异常,就不会认为“函数可能会抛出异常”,而为这种可能性做一些额外的工作; 使用方法:在函数的参数列表后面加上 noexcept 关键词; int add(const int &x, con
阅读全文
摘要:记录一下 string trim(const string &s) { int start = 0, end = s.size() - 1; while (start < s.size() && s[start] == ' ') { start++; } while (end >= 0 && s[e
阅读全文
摘要:记录一下 1. 分割函数 // 字符串 str 通过字符 target 进行分割 vector<string> split(const string& str, char target) { vector<string> res; int pos = 0; while (pos < str.size
阅读全文
摘要:Lambda表达式也叫匿名函数,有时候也叫闭包(Closure) 参考视频:注意视频中捕获变量部分有错误,按本博客为准 1. 定义 [OuterVar](int x, int y) -> int { return OuterVar + x + y; }; [OuterVar]:捕获变量; (int
阅读全文