摘要: 我们经常会用到一些算法,而大部分算法过于抽象,记忆起来比较困难,而使用图解可以帮助我们更好地理解和记忆这些算法。 一、深度优先搜索算法(DFS) 深度优先搜索算法(Depth-First-Search),是搜索算法的一种。它是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用 阅读全文
posted @ 2017-11-10 20:49 Arthurian 阅读(3291) 评论(0) 推荐(6) 编辑
 
摘要: 各行各业的工作者,都有其要求,那么作为程序员,我们又该具备哪些素养呢?博主在这里浅谈个人看法,如有不当之处,请大佬们指正。 一、知识储备 1、数学 或许在很多人看来,学计算机用不到什么数学,最多也就是一百以内的加减乘除,用在for循环、数组索引之类的上面。但其实不然,大部分人这样觉得是因为基本都工作 阅读全文
posted @ 2017-07-21 21:41 Arthurian 阅读(1934) 评论(8) 推荐(4) 编辑
  2024年11月5日
摘要: 在多线程开发中,经常会遇到数据同步,很多情况下用锁都是一个很好的选择。C++中常用的锁主要有下面几种: 互斥锁(std::mutex) 这是最基本的一种锁。它用于保护共享资源,在任意时刻,最多只有一个线程可以获取该锁,从而访问被保护的资源。当一个线程获取了互斥锁后,其他试图获取该锁的线程会被阻塞,直 阅读全文
posted @ 2024-11-05 22:29 Arthurian 阅读(384) 评论(0) 推荐(6) 编辑
  2024年9月16日
摘要: RTP(Real-time Transport Protocol)即实时传输协议,是一种网络传输协议,对应的RFC文档为RFC3550,RTP协议描述了在互联网上传输音视频的标准数据包格式。 RTP头遵循下面的格式: 起始的12个字节是每个RTP数据包都有,CSRC标识符列表只有当 V:RTP协议的 阅读全文
posted @ 2024-09-16 15:16 Arthurian 阅读(37) 评论(0) 推荐(0) 编辑
  2024年6月3日
摘要: RTCP包的头部结构体定义 struct RTCP_Header { unsigned short rc:5; unsigned short padding:1; unsigned short version:2; //1 char unsigned short payloadtype:8; //2 阅读全文
posted @ 2024-06-03 08:53 Arthurian 阅读(37) 评论(0) 推荐(0) 编辑
  2024年5月25日
摘要: 1、下载远程代码 git clone <地址> 2、查看远程所有分支 git branch -a 3、创建并切换到本地develop分支 git checkout -b develop origin/develop 4、更新远程develop分支代码到本地 git pull origin devel 阅读全文
posted @ 2024-05-25 17:19 Arthurian 阅读(8) 评论(0) 推荐(0) 编辑
  2024年3月12日
摘要: 最近项目中有一个需要使用QT生成固定长度随机字符串的需求,需求也很简单,就是生成一个n位的仅包含0-9以及大写字母的字符串,因为这也是第一次使用QT自身的随机数,这里就做一下简单记录。 废话不多说,直接上代码。 1 QString getRandomString(int length) 2 { 3 阅读全文
posted @ 2024-03-12 22:11 Arthurian 阅读(246) 评论(0) 推荐(0) 编辑
  2024年1月14日
摘要: 记录一下GitHub创建仓库的流程 阅读全文
posted @ 2024-01-14 09:59 Arthurian 阅读(35) 评论(0) 推荐(0) 编辑
  2023年12月2日
摘要: 1、无法充电 本来正常使用,突然发现笔记本电量耗到很低后,插入电源线无法充电,关机状态下插入电源线无反应,开机状态下充电指示灯在不停地闪烁,桌面右下角电源标识显示× 解决方案 尝试关机后,长按电源键15s,持续多次(本次实测操作了20次左右),然后重新插入电源。 阅读全文
posted @ 2023-12-02 22:24 Arthurian 阅读(9) 评论(0) 推荐(0) 编辑
  2023年10月3日
摘要: 一些小程序,仅供自己玩,不能放在生产环境。 阅读全文
posted @ 2023-10-03 22:04 Arthurian 阅读(50) 评论(0) 推荐(0) 编辑
  2023年9月16日
摘要: 智能指针是C++语言中一种方便、安全的内存管理工具。智能指针可以自动管理对象的生命周期,避免手动分配和释放内存时可能出现的内存泄漏和悬挂指针等问题。在C++11标准中,引入了三种智能指针:unique_ptr、shared_ptr 和 weak_ptr。 类型 含义 备注 std::unique_p 阅读全文
posted @ 2023-09-16 23:44 Arthurian 阅读(1516) 评论(2) 推荐(4) 编辑
  2023年9月11日
摘要: 在开发过程中我们经常要动态地进行内存分配,而内存的管理是一个重要的问题。在C语言中,内存分为四个区域:堆区,栈区,全局/静态存储区和常量存储区。其中,堆区用于动态内存分配。在C标准库中,主要有两个函数用于动态内存分配,分别是malloc()和realloc()。 malloc()函数 malloc( 阅读全文
posted @ 2023-09-11 23:04 Arthurian 阅读(306) 评论(0) 推荐(0) 编辑
  2023年9月10日
摘要: map和multimap是C++ STL(Standard Template Library)中的关联容器,它们提供键值对的存储和访问。 map是一个有序关联容器,它存储一组键值对,其中每个键都是唯一的。map中的键值对按照键的升序排序。用户可以通过键来访问、修改和删除对应的值。map的实现通常使用 阅读全文
posted @ 2023-09-10 23:48 Arthurian 阅读(88) 评论(0) 推荐(0) 编辑
摘要: WinDbg的线程操作命令可以帮助开发人员诊断和解决多线程应用程序中的问题,常用的命令有以下这些。 ~*e - 列出当前进程中的所有线程 这个命令会列出当前进程中的所有线程,包括它们的线程ID、状态、优先级、安全描述符等。通过查看这些信息,可以了解每个线程的状态和调用堆栈信息等。 ~*k - 列出指 阅读全文
posted @ 2023-09-10 23:34 Arthurian 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 笔算开平方的算法通常使用牛顿迭代法,也称为牛顿切线法。 算法步骤如下: 选择一个初始猜测值x0,一般来说可以选择1。 根据牛顿迭代法的公式,计算下一个猜测值x1 = (x0 + a/x0)/2,其中a是待求平方根的数。 重复步骤2,直到x1和x0的差值小于一个给定的精度eps,即|x1 - x0| 阅读全文
posted @ 2023-09-10 15:47 Arthurian 阅读(222) 评论(0) 推荐(0) 编辑
  2023年8月13日
摘要: 1、总述 C++ STL(Standard Template Library)是 C++ 标准库的一部分,包括了许多数据结构的实现,提供了许多好用的轮子,同时,其设计思想也非常值得学习。其中,容器是 STL 中最重要的一部分,它是一种高效的数据存储和管理方式,能够方便地处理不同类型的数据,并提供许多 阅读全文
posted @ 2023-08-13 22:49 Arthurian 阅读(31) 评论(0) 推荐(0) 编辑
  2023年8月3日
摘要: 记录一些有用的命令组合。 阅读全文
posted @ 2023-08-03 22:09 Arthurian 阅读(16) 评论(0) 推荐(0) 编辑