随笔分类 - C/C++
单调栈模板
摘要:力扣503 class Solution { public: vector<int> nextGreaterElements(vector<int>& nums) { int n = nums.size(); vector<int> ret(n, -1); stack<int> stk; for (
跳表模板
摘要:跳表是一种单链表的改进,在刷力扣时看到的,有篇博客写的不错,分析了跳表的复杂度和基本原理。链接搬在这里: CSND参考博客 关于数据结构的定义、查询、添加和删除的操作,力扣1206官方题解 有非常详细的PPT演示,但是官方的代码实现我觉得比较难理解,代码实现可以参考C++ 手写跳表最简单的实现方式
并查集必背模板
摘要:class UnionFind{ public: UnionFind(int n){ parent = vector<int>(n); rank = vector<int>(n); for(int i = 0; i < n; i++) parent[i] = i; } void uni(int x,
模糊PID控制C++实现
摘要:PID大家都非常熟悉了,这里就不多谈了,模糊控制可以看一下B站的相关视频,比如这个【入门】智能控制 | 20分钟搞定模糊控制 下面的代码来自github,我主要对github的代码进行了一些修改,优化了结果。 main.cpp文件 #include<iostream> #include"fuzzy_
GNU编译工具链简述
摘要:B站有个视频讲这部分比较透彻,可以去看一下。链接 上图涉及的内容比较多,主干部分就是下图: 具体实现指令如下: 预处理:gcc -E hello.c -o hello.i 编译:gcc -S hello.i -o hello.s 汇编:gcc -c hello.s -o hello.o 链接:gcc
windows下visual studio code的安装及C语言开发环境配置
摘要:vscode是一款开源的跨平台编辑器(IDE),现在介绍windows下的安装及C语言开发环境的配置。 大致为以下几个步骤: 登录官网https://code.visualstudio.com/下载相应的安装包 稳定版(stable):经过时间和用户的使用,几乎没有什么大问题的版本。 内部版(ins
C语言关于sizeof和函数返回的若干问题
摘要:注意点一: 这个函数得到的结果是 80 8 8 41 2 这告诉我们同样是sizeof(),指针和数组输出效果不同。 当b是数组时sizeof(b)为数组的内存空间大小,这里是20*4bit; 而当arr是指针时,sizeof(arr)仅表示一个地址的内存空间大小,即8bit。 这是一种效率的体现,