- 博客(43)
- 收藏
- 关注
原创 C语言内存函数详解
本篇博客主要介绍常用的4个内存操作函数:1.不重叠内存拷贝函数 -- `memcpy()`2.重叠内存拷贝函数 -- `memmove()`3.内存比较函数 -- `memcmp()`4.内存填充函数 -- `memset()`
2025-01-08 12:33:14
1132
原创 C语言字符串函数详解
文章介绍了各种与字符串相关的函数包括:求字符串长度的函数strlen();长度不受限制的字符串函数strcpy()、strcat()、strcmp();长度受限制的字符串函数strncpy()、strncat()、strncmp();字符串查找strstr()、strtok();错误信息报告strerror()
2025-01-07 18:59:58
1019
原创 C语言字符函数详解
本篇博客介绍了C语言标准库中 ctype.h 头文件中声明的字符操作函数,总共有14个,其中12个大致是判断某个字符是否为某一类字符;另外2个是进行大小写转换的函数。
2025-01-07 18:59:44
802
原创 【MySQL】第一章 MySQL 5.7的安装与卸载
提供在 Ubuntu 20.04 或者 Centos 7 下安装 MySQL 5.7 的方法
2025-01-06 15:00:12
895
原创 【MySQL】第二章 初识数据库
MySQL 系列专栏第二篇,旨在完成 MySQL 5.7 的安装后构建起对 MySQL 的初步认知,消除对 MySQL 未知的恐惧,内容包括对数据库的理解、MySQL 如何登录、常见概念与操作的初步了解、MySQL 的架构、存储引擎的初步了解。
2025-01-06 14:39:56
1482
原创 直接插入排序、折半插入排序、2路插入排序、希尔排序
排序算法中以“插入”为核心思想的四种排序算法:直接插入排序、折半插入排序、2路插入排序、希尔排序
2025-01-02 20:03:47
1123
原创 【MySQL】Ubuntu 20.04 下安装 MySQL 5.7
这篇文章详细介绍了在 Ubuntu 20.04 上安装 MySQL 5.7 的过程。首先,检查并卸载已有的 MySQL 服务,然后添加 MySQL APT 存储库的源,并处理公钥错误。接着,安装 MySQL 5.7 客户端和服务端,并进行基本配置,包括设置字符集和服务端端口。最后,重启 MySQL 服务以应用配置。文章提供了相关命令和配置文件示例,并列出了参考链接。
2024-07-22 15:56:16
1977
原创 初学 jsoncpp 库的简单使用总结
这篇文章介绍了 JSON 和 jsoncpp 库在 C++ 中的应用,详细说明了 JSON 的基本概念及其数据类型,并通过示例代码展示了如何使用 jsoncpp 库进行 JSON 数据的序列化和反序列化。文章还介绍了 jsoncpp 库的核心类,如 `Json::Value`、`Json::StreamWriter` 和 `Json::CharReader`,以及 C++11 引入的原始字符串字面量语法,以便处理包含特殊字符的字符串。
2024-07-22 15:55:05
1122
原创 Ubuntu 修改 shell 命令行提示为只显示当前工作目录的基本名称而非完整路径
分享在 Ubuntu 修改 shell 命令行提示为只显示当前工作目录的基本名称而非完整路径的方法
2024-07-08 13:18:30
617
原创 【Linux】多线程相关第一篇:从进程谈起理解线程概念
这篇文章主要讲述了线程的相关概念,从Linux进程谈起为什么需要线程,简单讲述Linux线程具体设计之后说明为何要这么设计的缘由,最后在针对理解线程是CPU调度的基本单位,和多执行流如何划分进程代码做出解释
2024-05-13 11:18:40
994
原创 【Linux】解析键盘组合键产生信号的完整过程:从硬件中断到信号发送
每一个了解Linux的都知道这样一个知识,Ctrl+C组合键能够终止一个进程。然后,就去了解信号,发现存在键盘产生信号这一种方式,Ctrl+C组合键可以送2号信号SIGINT给进程,所以,上面的图片中的死循环被终止了因为进程收到了2号信号。个人对于其中的原理非常好奇,所以经过研究就有了这一篇文章。
2024-05-07 19:23:01
1580
原创 C++笔记:异常
C、C++对比说明异常的由来,异常如何抛出和匹配,调用栈怎么展开,还针对异常引发的构造析构的安全问题和异常的使用规范问题进行了一定的探讨,最后简单总结了一下异常的优缺点
2024-04-17 22:23:18
643
原创 【C++】哈希思想的应用(位图、布隆过滤器)及海量数据处理方法
第一部分对位图和布隆过滤器两个数据结构的概念、实现、应用场景、优缺点做一个简单的总结;第二部分就是总结一下,当遇到海量数据处理问题时该怎么用哈希思想来进行解决。
2024-04-05 14:45:59
1168
原创 由浅入深一步步了解什么是哈希(概念向)
文章首先讲述了什么是哈希,哈希最重要的是哈希函数的选择,有的哈希函数不会产生哈希冲突,有的哈希函数不可避免的会产生哈希冲突,发生了哈希冲突之后的该如何解决,这里介绍了闭散列的开放定址法,和开散列的链地址法,过程中还讲述了负载因子和扩容的问题,最后讲述了遇到非整数类型的数据关键码该如何处理
2024-03-24 18:10:22
3261
5
原创 C++笔记:从零开始一步步手撕高阶数据结构红黑树
文章研究了红黑树概念,红黑树维护平衡的规则,AVL和红黑树之间的简单对比,如何去描述设计一棵红黑树,如何通过插入构建一棵红黑树,最后对构建好的红黑树进行炎症性测试
2024-03-17 12:13:00
797
1
原创 C++笔记:二叉搜索树(Binary Search Tree)
了解和实现二叉搜索树的接口,部分接口实现了迭代版和递归版,后面还记录了一下二叉搜索树的应用,还有其性能分析,及缺陷
2024-02-23 21:16:05
928
原创 C++笔记:简单模拟实现优先级队列(priority_queue)
博客的内容是在了解的基础上通过模拟实现来加深对容器适配器Priority_queue的理解
2024-02-13 08:40:02
620
原创 C++笔记:动态内存管理
这篇文章是个人对C++动态内存管理方式,即new和delete知识的一个由浅入深的总结,从new和delete的语法使用,谈到了new/delete的底层实现
2023-12-07 11:18:13
1220
原创 线性表之动态顺序表
本篇博客首先说明顺序表要根据实际需求设置为动态还是静态,然后讲述了顺序表的各接口的实现思路、该注意的一些问题以及源代码展现。
2023-09-04 20:45:36
145
1
原创 入门数据结构——线性表(概念向)
这篇博客首先介绍了什么是线性表并给出了线性表的抽象数据类型定义,然后根据线性表存储在计算机当中的物理结构将线性表分成两种,“顺序表” 和 “链表”。顺序表根据数组长度可变和不可变又分成了 “静态顺序表” 和 “动态顺序表”。链表根据其三个特征又可以组合成八种结构。
2023-09-03 09:34:55
409
原创 算法的前置概念和术语
博客讲述了什么是算法,算法的特点,以及如何去设计一个好的算法,最后再从时间、空间两个维度,即时间复杂度、空间复杂度,讲述了该区如何衡量一个算法的效率
2023-08-29 18:02:56
248
1
原创 gdb 篇
前面陆续谈到了开发工具中的编辑器、编译器,那么本篇博客就来谈谈开发过程中绕不开的工具——调试器,本篇博客中的调试器是gdb,操作系统是Liunx的Centos发行版学会调试是一个合格的程序员必备的能力。以上就是本篇博客的所有内容,如有问题麻烦评论区指出。
2023-08-26 11:32:26
109
原创 Linux的第一个小程序——进度条
前面学习了yum工具安装、gcc编译代码、make和makefile自动化管理工具的理论知识,但是,仅有理论知识是不够的,还必须得又实践。在使用yum安装工具时,个人对安装过程中出现的进度条非常感兴趣,所以打算用C语言实践一个简单的进度条小程序。
2023-08-23 09:29:43
274
原创 gcc和makefile篇
在上一篇博客《vim篇》中已经了解vim的功能,学习vim的相关命令,最后还配置了vim,为编写代码提供了一个好的环境。但是,无法编译运行的代码是没有价值的。接下来,就学习如何使用将写好的代码编译,如何将文件运行,如何编写基本的makefile文件以提高写代码效率。
2023-08-22 11:40:57
287
1
原创 yum 篇
一、软件包与软件包管理器 yum一、软件包与软件包管理器 yum在讲yum前,我们先形成一个概念:在Linux中,指令、工具、程序这些名词代表的其实都是一个东西——可执行程序。在Linux下安装软件,通常有两个方法。一个是下载到程序的源代码,并进行编译,得到可执行程序,这个方法通常被叫做 “源码安装”。但是这样太安装对于新手极其不友好,于是一些程序员想到了第二种方法。
2023-08-19 09:30:59
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人