摘要:
需求 虽然 CMAKE 是 "跨平台" 的,但是这实际上说的是 API 的问题,我这里的需求不涉及多套 API 的问题,我只会使用 "跨开发平台" 这一点。也即是交叉编译,在 Windows 下开发 Linux 软件(build 平台不同,但 host 平台一致) 很多时候我们在开发 Linux 软 阅读全文
摘要:
检查/建立 SSH 参考 SSH 设置 跟着步骤走就好 添加远程库 参考廖雪峰-添加远程库 先创建一个空仓库 然后输入 git remote add origin git@github.com:<USERNAME>/<REPO>.git (大写处改自己用户名和仓库名) 添加令牌验证 参考令牌验证 也 阅读全文
摘要:
事情起因 搭建 blog 需要,我是走 hexo + github 路线 安装 hexo 要先安装 nodejs 和 npm,结果卡在安装 npm 不断踩坑 坑点一:官方路线 nodejs 官网 紧接着会跳转微软官网,微软推荐用 nodejs 版本管理器 nvm 安装 curl -o- https: 阅读全文
摘要:
事情起因是这样的 以前只记得结构体对齐,是对齐最长的那个成员,但现在发现并不是这样,看以下两个示例(64位 g++ 9.3.0 编译) 示例一 class B { public: char b; // 8 virtual void fun() {}; // 8 static int c; // 0 阅读全文
摘要:
参考:C/C++如何获取不定数量的输入参数? 仅作记录 《C++ Primer》使用以下格式来获取不定输入 while(std::cin>>val) { // TODO } 但实际上需要额外按键才能结束输入,有时候我只想读取到回车就结束输入,这时可以利用 cin 成员函数 get(),如下 whil 阅读全文
摘要:
很早就收到 Windows 11 的推送,但一直在观望,最近终于更新了。可惜的是我笔记本是 Win10 家庭版,升级 Win 11 之后仍是家庭版,导致我开启 Hyper-V 还要另外折腾一番 ;-( 一、安装 WSL 在 Microsoft Store 搜索 Ubuntu,选 18.0/20.0 阅读全文
摘要:
因为这道题晴神给出模板了,所以水过,顶多就是调试加深下理解 小结一下,AVL 插入先写出 BST 插入的基本模板(而 BST 插入就是在查找基础上修改的,所以最终还是 BST 查找的模板): /* 伪码 */ void bst_search(node_t *root, int val) { /* 死 阅读全文
摘要:
这道题就是所有树的知识点的集大成 思路大概是: /* 伪码 */ //1. 利用下标建树————dfs() //2. 填充树的数据域————先序遍历 //3. 输出————层序遍历 第一点,利用下标建树见题图。也就是先不管结点的数据域而先把指针域链接起来: 第二点,填充树结点数据域,观察可以发现先序 阅读全文
摘要:
这道题关键在于判断一棵树是不是 BST 现在题目给出了树的先序序列——我们可以知道这棵树的根,然后题目也给出了 BST 的定义——左子树 < 根 ≤ 右子树(BST 镜像则是 左子树 ≥ 根 > 右子树),那么就可以确定左子树、根、右子树,从而确定这棵二叉树。 所以我们可以通过根和根后续结点确定这棵 阅读全文
摘要:
这几道题都是一般树的遍历(DFS知识点)所以放在一起水过了;但遗憾的是我的 A1079 和 A1090 都是 PA,不过还是先记录下思路,刷完全部知识点再回头来看下细节 我对于一般树遍历的知识点主要关注 3 个地方,这 3 个地方找出来基本就能解: //1. 结构体定义 //2. 输入 //3. d 阅读全文