4.5k 4 分钟

本系列暴死,不会更新了。 该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # C 语言中的动态内存管理 C 语言中,我们使用 malloc 、 calloc 、 realloc 、 free 来动态管理内存。 int main(){ int* p = (int*)malloc(sizeof(int)); // 动态开辟 free(p); int* q = (int*)calloc(4, sizeof(int)); // 动态开辟并赋值 int* r = (int*)realloc(q,...
5.8k 5 分钟

本系列暴死,不会更新了。 该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # 初始化列表 在类的构造函数的函数名后可以加上这么一串结构,称之为初始化列表: class Date{public: Date(int year, int month, int day) : m_year(year) // 定义与初始化 , m_month(month) , m_day(day) {} Date(int year) : m_year(year) ,...
5.4k 5 分钟

本人服务器配置为 CentOS 7.9 64 位。 部分内容有时效性,不能保证可以复现。 首先 ssh 登录到我们的服务器。 # 部署 TeamSpeak # 创建一个新用户 这是为了方便管理,而且部分操作不方便通过 root 账号完成。 这里我们创建一个名为 teamspeak 的账户: XShell# 新建用户 teamspeakuseradd teamspeak# 给予 sudo 权限usermod -a -G sudo teamspeak# 设置密码passwd teamspeak# 切换用户并定位到家目录su teamspeakcd ~# 下载并解压服务端 #...
1.5k 1 分钟

本系列暴死,不会更新了。 该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # 关于 Linux Linux 是一种开源操作系统,其核心由林纳斯・托瓦兹于 1991 年开发,基于 UNIX 设计理念。Linux 内核本身仅是操作系统的核心部分,负责管理硬件资源,而完整的 Linux 系统还包括工具和库,这些通常由 GNU 计划提供。因此,完整的系统经常被称为 “GNU/Linux”。 Linux 有多种发行版,每种都有自己的软件库和管理工具,例如 Ubuntu、Fedora 和 Debian...
11k 10 分钟

本系列暴死,不会更新了。 该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # 类的默认成员函数 我们写一个类,在类体中什么都不写,这样的类就叫空类。 空类真的什么都没有吗?并不是的。 类有六个默认成员函数,如果我们自己没有写这六个函数,类也会自己去补齐它们。 默认构造函数(Default Constructor) - 用于无参的初始化一个对象。 析构函数(Destructor) - 用于在对象生命周期结束时进行资源的回收等收尾工作。 拷贝构造函数(Copy Constructor) -...
7.1k 6 分钟

本系列暴死,不会更新了。 该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # C++ 中的结构体 我们在 C 语音中学的结构体在 C++ 依旧适用,而且增加了其他的功能。 在 C++ 中,结构体不仅可以用来定义变量,还可以定义函数。 在这个函数内,还可以直接使用结构体中的变量。 比如之前我们在数据结构中实现的栈现在可以这样全部放在结构体内部: #include <iostream>using namespace std;typedef int DataType;struct...
11k 10 分钟

本系列暴死,不会更新了。 该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # C++ 简介 C++ 是由 Bjarne Stroustrup 在上世纪 80 年代开发的一款基于 C 语音的编程语言。一开始是作为 C 语言的完善与改进,后来随着一次次标准化更新,已经脱胎换骨了。但是 C + 依旧向下兼容大部分 C 语言代码。 这一篇笔记先从一些比较基础的地方讲其与 C 语言的区别。 # C++ 的关键字(C++98 标准) 首先 C 语言只有 32 个关键字,而 C++98 却有 63 个关键字,C++11...
6.4k 6 分钟

该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # 四、归并排序 归并排序是一种非常高效的排序算法。基本思想是将一个大数组分成两半,分别对这两半进行排序,然后将排序好的两部分合并在一起。这个过程递归进行,每次将数组分半,直到每个部分只有一个元素,自然是有序的,最终得到一个完整的有序数组。 归并排序的步骤如下: 分割:把当前序列平均分割成两半。 递归排序:递归地对这两半进行归并排序,直到分割的子序列只包含一个元素。 合并:将两个有序的子序列合并成一个有序序列。 #...
10k 9 分钟

该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。 萌新的学习笔记,写错了恳请斧正。 # 排序的稳定性 先介绍一个概念,就是排序的稳定性。 排序算法的稳定性是指,如果待排序的序列中存在值相等的元素,经过排序后这些元素之间的先后顺序不变。简而言之,稳定的排序算法可以保留相等元素原本的相对顺序。 假设有一组人的年龄列表,有些人年龄相同:5,3,8,3,2。 如果我们对这个列表进行稳定排序,那么两个年龄为 3 的人在排序后的列表中,先出现的那个人在原列表中也是先出现的。 如果排序算法是稳定的,排序后我们得到的可能是这样:2,3 (第一个),3...