【C++】 排序算法合集 && 单元测试
排序算法是《数据结构与算法》中最基本的算法之一。
linux:线程的控制
本文作为我对于线程的简单总结,线程控制的知识总结创建一个新线程的代价比创建一个新进程小的多与进程之间的切换相比,线程之间的切换需要操作系统做的工作要小线程占有的资源要比进程少很多能充分利用多处理器的可并行数量(并行,多个执行流在同一时刻拿着不同的CPU继续运算,执行代码)在等待慢速I/O操作结束的同
Win11系统vscode配置C++环境:Vscode+MinGw+Cmake
在win11系统下,Vscode使用mingw和cmake配置C++开发环境
(C++) 如何设计一个安全的pop函数
下面为了方便,采用继承而不是组合的方式来处理。请注意在调用模板基类内容时候的一些注意点,本文不会讲解这块基础。有一些激进派认为,空栈的pop直接抛出一个确定的异常,但本文没那么粗暴。且默认采用移动语义,缺点是对于一些确定删除移动语义的对象会报错,当然这类对象比较少。
【C++】开源:Windows图形库EasyX配置与使用
Windows图形库EasyX配置与使用
【马里奥数据结构吃“金币”】时间复杂度和空间复杂度
时间复杂度和空间复杂度
A* 算法详解(超级详细讲解,附有大图)
今天想跟大家聊的,是我们经常用到,但是却让大家觉得十分神秘的那个算法:A*。这是一个远古而又非常经典的游戏——红警和玩的时候,就会发现这里面的兵,你只要指定好地点,他们就会自己朝目的地进发,最终去向你指定的地点。。。(这段是看了参考资料【1】之后乱编出来的)很多游戏也是这样,它会将你指定的人物,以一
C++ 与 Lua 的协程交互
Lua 语言不支持真正的多线程,即不支持共享内存的抢占式线程。这样的模式能减少一些多线程的问题。多线程的问题源于线程抢占和共享内存,而如果非抢占式线程或者不使用共享内存则能避免多线程问题,Lua 同时支持这两种方案。Lua 语言的线程是协作式的,即协程,可以避免因不可预知的线程切换带来的问题。Lua
C++ Webserver从零开始:代码书写(十)——完成Locker类和Log类封装
这是我们正式开始写代码的第一章,经历了前面那么多的内容,我们终于可以上手写代码了。前面那么多基础知识,如果大家都看了,理解了更好。如果说看的一知半解也不用担心,基础知识是学不完的,而且如果不加以使用,那么你学的基础知识就会非常快的忘掉。只有将学到东西拿来用,才能真正地掌握。但是基础知识又不能没有,不
【C++11算法】iota算法
C++标准库提供了丰富的算法,其中之一就是iota算法。iota算法用于填充一个区间,以递增的方式给每个元素赋予一个值。这篇文章将为您介绍iota算法的概念、函数原型、参数和返回值,并提供多个示例代码帮助您更好地理解该算法的用法。iota算法是C++标准库提供的一个用于填充区间的简单而实用的函数。它
c++矩阵——超实用的数据结构
矩阵是一个二维的数学结构,由行和列组成。在C++中,我们可以使用数组或者向量来表示矩阵。矩阵广泛应用于线性代数、图像处理、机器学习等领域。C++中的矩阵是一个重要的数学概念,在各种领域都有广泛的应用。我们可以使用数组或者向量来表示矩阵,并进行各种运算,如加法、减法、乘法和转置等。熟练掌握矩阵的表示和
每日一练c++题目日刊 | 第十一期
一日两更或三更,这里面都是自创题目或改变题目,附带答案和详细的讲解,曾经是周刊,已于2022-12-27改为日刊
超详细——动态内存分配+柔性数组
C语言提供了一个内存开辟的函数:malloc可以向内存申请一块连续的空间,并返回一个指向这块空间的指针如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具
【C++】STL --- 哈希
了解 unordered_map/unordered_set 的使用和简单实现哈希!介绍哈希的应用 --- 位图和布隆过滤器!
一个半月零算法基础冲击蓝桥杯省一(C/C++ B组)
回头看,省赛的题目还是相对简单一些的,只要付出一些时间,花点功夫,拿个奖绝对是没问题,一定要相信自己。虽然是一个半月,但是我当时是下定决心要拿到证书的,那段时间复习得还算认真,当时成绩出来我也震惊。最后祝看到此文章的同学们,蓝桥杯旗开得胜,都拿省一!
【VSCode】解决VSCode远程连接问题:远程主机可能不符合 glibc 和 libstdc++
今天用VSCode进行ssh连接时,提示“远程主机可能不符合 glibc 和 libstdc++ VSCode 服务器的先决条件”。查了一下发现这个问题主要是由于VSCode在一月份发布的最新版本v1.86中要求远程主机 glibc>=2.28导致的,所以ssh连接Ubuntu 18.04的时候就会
C++:类与对象(3)
要慢慢学会面向过程的思维转化成面向对象,利用对象之间的交互来完成一系列动作。
【现代 C++ 测试工具链(是时候抛弃 gtest/google bench 了)】【转载】
用现代C++测试工具链:doctest+FakeIt+nanobench, 可以完美地替代gtest/gmock和google bench,没有任何依赖,无需安装,直接包含头文件就可以用,非常容易集成和使用,是时候抛弃google test和google bench了!来源:www.purecpp.
ubuntu20.04环境下安装运行Colmap+OpenMVS
我创作这篇博客的初衷是因为我在ubuntu20.04环境下跑Colmap+OpenMVS这个算法框架的时候踩了很多坑,一方面是网上现在很多教程都是基于Windows环境下的,而Windows环境和Linux环境相比还是有很大的差异的;二是现在网上的很多教程基本很多步骤一带而过了,而往往这些一带而过的
【树上倍增】【割点】 【换根法】3067. 在带权树网络中统计可连接服务器对数目
给你一棵无根带权树,树中总共有 n 个节点,分别表示 n 个服务器,服务器从 0 到 n - 1 编号。同时给你一个数组 edges ,其中 edges[i] = [ai, bi, weighti] 表示节点 ai 和 bi 之间有一条双向边,边的权值为 weighti 。再给你一个整数 signa