- 博客(21)
- 收藏
- 关注
原创 云备份的C/C++实现
云备份的C/C++实现一、开发环境centos7.6/vim、g++、gdb、makefilewindows10/vs2017对于文件操作,后续会使用到experimental/filesystem,它需要C++17的支持二、项目概述自动将本计算机指定文件夹中需要备份的文件自动上传到服务器中实现备份。并且能够通过浏览器进行查看和下载,其中下载支持断点续传功能功能,而且服务器也会对上传文件实现热点管理,将非热点文件进行压缩,节省磁盘空间三、实现目标达成两端程序,一是部署在用户机的客户端程序,上
2022-03-18 18:41:33 2032 2
原创 数据结构——红黑树
数据结构——红黑树前言红黑树是map,set,mutilmap,mutilset容器的底层数据结构,也是一种非常重要的数据结构,它在效率上对AVL又做了进一步的优化,因为AVL结构在插入,或删除时,无法避免大量的旋转操作,导致效率有所损耗,但是红黑树,就在这一点有了更好的优化,但是牺牲了平衡性,所以是不是一个完全平衡的二叉搜索树。一、红黑树的概念和性质概念:红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色
2022-03-06 18:20:02 4689
原创 数据结构——AVL树
AVL算法前言这篇文章主要是基于BST算法的衍生版本,因为在某些情况下,BST算法的时间复杂度会退化成O(n),所以才有了这个完全平衡的AVL算法,会通过平衡因子维护二叉搜索树的平衡,保证其查找时的时间复杂度为O(log2(n)),但是也有缺陷。一、AVL算法的性质1.左右子树高度差(平衡因子)的绝对值不超过1(1)高度差——平衡因子每个节点都有自己的平衡因子,当平衡因子大于1时,我们就需要进行调整,使其小于等于1(2) 这里,一般我们默认平衡因子的大小是右树减左树例如:右数高度为2,左树高
2022-02-27 02:52:52 1403
原创 C++进阶——继承
C++继承知识点文章目录C++继承知识点前言一、继承的概念及定义二、继承的定义继承基类成员访问方式的变化总结前言继承是C++的核心内容,也是C++实现多态的基础,更是C++为什么是面向对象的语言的原因之一。一、继承的概念及定义继承是面向对象程序设计中使代码可以复用的重要手段,就是一段代码其他的类也需要使用,这样我们就没有必要每次都再写一遍;并且我们还可以对其类特性的基础上进行功能上的扩展,增加新功能,这样产生的类,我们称为派生类(子类);继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂
2022-01-10 00:54:33 705
原创 数据结构 — 排序合集
数据结构 —— 各种排序文章目录数据结构 —— 各种排序前言一、插入排序1.直接插入排序2.shell排序(希尔排序)二、选择排序1.直接选择排序2.堆排序三、交换排序1.冒泡排序2.快速排序四、归并排序1.归并排序总结前言这篇文章主要是博主自己对数据结构中,七种排序算法的笔记以及思想的自我理解,如有更好的写法,欢迎大家指正。一、插入排序1.直接插入排序思想:把待排序的数据,按我们自己需要的排序方式,逐个插入到已经排好的序的有序序列中,直到所有待插入数据,全部插入位置,生成一个全新的序列。
2022-01-04 15:13:21 1089
原创 C++初识STL
初识STL文章目录初识STL前言一、什么是STL?二、六大重要组件总结前言从今天开始,我们将会开始学习C++最重要的组成部分,STL(标准模板库),这将是辅助我们高效工作的一个大杀器,是我们学习C++必须掌握,熟练运用 的重要知识点。一、什么是STL?STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。简而言之,就是一个前人写好的,咱们而已直接调用的库,就比如链表,栈这些数
2022-01-04 00:56:44 125
原创 C++模板进阶
C++模板进阶文章目录C++模板进阶前言一、非类型模板参数二、类模板的特化2.0概念2.1函数模板特化2.2类模板特化2.2.1全特化2.2.2偏特化三、模板的分离编译总结前言C++模板的进阶学习,下面将会补全模板使用的场景,完善知识体系。一、非类型模板参数模板参数分类类型形参与非类型形参。类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。非类型形参:就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。 // 定义
2022-01-02 00:46:26 156
原创 C++模板初阶学习
C++模板初阶学习文章目录C++模板初阶学习前言一、泛型编程二、函数模板1.函数模板的概念2.函数模板格式3.函数模板的原理4.函数模板的实例化隐式实例化:让编译器根据实参推演模板参数的实际类型显式实例化:在函数名后的 <> 中指定模板参数的实际类型5.模板参数的匹配原则三、类模板1.类模板的定义格式2.类模板的实例化总结前言今天学习的知识,在咱们以后的编程工作中,可以大大提高咱们的代码效率,也是泛型编程的基础,属于是重点之一。(在我这里啥都是重点-。-)一、泛型编程我们都知道,函
2021-12-31 16:58:08 193
原创 C/C++内存管理
C/C++内存管理文章目录C/C++内存管理前言一、C/C++内存分布二、C语言中动态内存管理方式三、C++内存管理方式0.C++内存管理方式:1.new/delete操作内置类型2.new/delete操作内置类型4.operator new与operator delete函数4.1. 概念4.2. new和delete的实现原理5.定位new(placement-new)6.malloc/free和new/delete的区别总结前言今天就是C++的正式学习阶段,我们会逐步了解C++的功能,语法
2021-12-31 00:08:31 389
原创 C++类与对象(下)
C++类与对象(下)文章目录C++类与对象(下)前言一、构造函数的深入1.初始化列表2. explicit关键字二、static成员三、友元0.友元1.友元函数2.友元类四、内部类总结前言今天是C++初步认识的最后一篇文章,这三篇文章基本上叙述了C++类与对象的关系,以及它们的作用,定义的方法, 和构成,明天开始我们就开始C++进一步的知识总结一、构造函数的深入1.初始化列表以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。clas
2021-12-29 20:40:45 114
原创 C++类与对象(中)
C++类与对象(中)文章目录C++类与对象(中)前言类中的六个默认成员函数1.构造函数2.析构函数3.拷贝构造函数4.赋值运算符重载5.const成员函数6.取地址及const取地址操作符重载总结前言今天继续C++类与对象的学习类中的六个默认成员函数1.构造函数class Date{public: Date() { _year = 0; _month = 0; _day = 0; }private: int _year; int _month; int _day
2021-12-28 18:48:38 308
原创 C++this指针概要
C++this指针概要文章目录C++this指针概要前言一、引出this指针二、 那么this指针是什么?三、this指针的特性总结前言今天只有一个内容,这是C++中最最最最重要的知识点的其中之一,希望我可以说的明白,可以让大家有所收获一、引出this指针我们先些一小段代码,在其中来找到我们需要学习的东西class Date{ public : void Display () { cout <<_year<< "-" <<_month <&
2021-12-27 22:13:20 598
原创 C++类与对象(上)
C++类与对象(上)文章目录C++类与对象(上)前言一、面向对象的初步认识二、“类”的介绍1.类的定义2.类的成员三、面向对象的三大特性(封装,继承,多态)封装继承和多态在后面的知识点的介绍中会介绍这里没有合适的例子四、类的作用域五、类的实例化六、类对象模型如何计算类对象的大小结构体内存对齐规则总结前言从今天开始C++的学习,以后C++的博客都为博主的笔记和学习总结,以及自己的一些心得分享,如有不正确的地方,希望可以得到大家的指正。提示:以下是本篇文章正文内容,下面案例可供参考一、面向对象的
2021-12-27 21:28:58 421
原创 Linux常用编程工具
文章目录前言一、yum ——*软件包管理工具,完成第三方工具软件的安装与卸载功能*二、vim ——*编辑器,linux写代码的工具*三、g++/gcc ——*编译器,即将高级语言编译成为机器指令*四、gdb ——调试器,调试程序运行过程**静态链接:****动态链接:**五、make/makefile ——*项目的自动化构建工具*make六、git —— *项目的版本管理工具*总结前言本片文章主要介绍Linux编程中,我们这些新手小白常用的,编程工具,调试工具…等等,具体内容将于下面进行详细的说明一
2021-11-15 21:11:47 5940
原创 字符串库函数及其模拟实现
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例
2021-07-28 21:32:24 199
原创 C语言数据存储详解
文章目录前言一、数据类型的介绍1 ) 整形的各种形式(2)构造类型(3)指针类型二、整形在内存中的存储(1) 数据如何存储(2)大端,小端的介绍总结前言这篇文章主要介绍数据是在计算机内存中是如何存储的,以及内存的介绍,详细介绍整形数据类型,浮点型需要了解的小伙伴可以仔细看一下文章中的介绍,那么我们开始吧!一、数据类型的介绍char ——— 字符数据类型short ——— 短整型int ——— 整形long ——— 长整型long long ——— 更长的整型float ——— 单精度浮点
2021-05-28 00:36:33 923 1
原创 C语言实现求任意范围内的水仙花数
C语言实现求任意范围内的水仙花数前言打印 “水仙花数” 我们需要怎么做呢?“水仙花数”是指一个n位数,其各位数字的n次方之和恰好等于该数本身,如:153=1^ 3 + 5 ^3+3 ^3则153是一个“水仙花数”。这样的话就显示出两点:(1)我们要知道这个数字有几位数(2)其次要计算各个位数字的位数次方和那么咱们看代码!!!!一、源代码int num(int n) //判断有几位数{ if (n <= 9) { return 1; } else { n = n
2021-05-18 00:05:14 3357
原创 srand函数和rand函数的配套使用说明
srand函数和rand函数的配套使用说明所需要的库:#include <stdlib.h>#include <time.h>两个函数的样子:void srand((unsigned int)随机种子) ;int rand();正文介绍:rand,这是C语言中比较常见的提供随机数的函数,但是嘞,它有一个明显的缺点!你可以称它为伪随机,伪随机是什么?它呢,再提供随机数的时候,确实是随机数没错,但是,它提供的随机数数列是一样的,这句话是什么意思呢?你这次调用它,它会随机产
2021-04-27 21:19:01 450
原创 C语言实现扫雷游戏
C语言实现扫雷游戏简略说明:今天,我们来使用C语言,来完成扫雷游戏的设计。电脑里面的扫雷大家都见过叭,在一个10x10的格子内,随机位置生成若干个地雷,踩到地雷即游戏失败,没踩中则在玩家选中的格子中显示这个格子周围八个格子内地雷的总数,直到选完所有格子将地雷排除即算胜利,这样的一个游戏该如何用代码实现呢,咱们现在就来一步一步设计一下。实现思路:首先,在上面我们提到了这是个10x10的棋盘(简称棋盘,我也不知道该如何形容蛤蛤蛤),当然也可以不是10x10,但是从这里可以得知,我们需要使用一个二维数组来
2021-04-26 16:25:14 709 5
原创 C语言阶段性繁琐点小结
C语言阶段性繁琐点小结数组详解(1)数组名(2)&数组名[0]以上都代表数组首元素地址(等价)(3)&arr代表整个数组的地址 (取出来首元素地址并且后面还有其他元素的长度,但是只显示首元素的地址)两个特例:1.sizeof(数组名) arr表示整个数组的大小,单位是字节2.&数组名,代表整个数组,取出的是整个数组的地址PS:“&”为取地址符———————————————————————————————————————rand函数使用方法头文件需要
2021-04-08 13:41:30 237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人