自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 二叉树恢复

思路:其实同情景1的思考方法是一样的,后序遍历顺序是左右根,那么字符串最后一个即是根,还是在中序序列中找到根并记录下走了多少字符。情景1:给定一个二叉树的先序遍历序列和中序遍历序列,恢复这棵树。情景2:给定中序遍历和后序遍历序列字符串,将二叉树恢复。中序:dbeafcg。后序:debfgca。例:先序:abdecfg。例:中序:dbeafcg。

2022-10-01 15:34:08 480 1

原创 二叉树遍历思路及代码(先序、中序、后序、层遍历)

1.定义:二叉树是n个结点的有限集合,该集合或者为空集,或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树构成。2.形态:二叉树有5种形态,分别是空二叉树、只有一个根结点、根和左孩子、跟和右孩子、根和左右孩子。3.分类:满二叉树、完全二叉树、不完全二叉树 (满二叉树是特殊的完全二叉树)对当前树进行编号从上到下从左到右依次编号,如果编号中间没有断开,而且最底层是全的,就是满二叉树;如果编号中间没有断开,最底层不是满的,是完全二叉树;如果中间编号断开,一定是不完全二叉树。

2022-09-23 21:18:10 3369 1

原创 C++中的菱形继承问题详解

不难发现,在菱形继承中也存在二义性,并且出现数据冗余浪费了内存空间,由基类Person的_idPerson身份证号有两条路径继承到EGStudent类中,两个身份证号在逻辑上是相同的,但在物理上被分配了不同的内存空间,是两个变量。有了多继承,就有菱形继承,有了菱形继承就有了菱形虚拟继承,底层实现很复杂,一般不建议设计出多继承,否则在复杂度和性能上可能都会出现问题。由多个基类共同派生出新的派生类出新的类,这样的继承结构被称为多重继承或多继承。而在多继承中还存在一种特殊情况——菱形继承。

2022-09-08 22:06:11 5502

原创 C++ 类中的静态成员变量和静态函数

在类型设计中,用关键字static修饰的数据成员为静态数据成员,由该类型所实例化的所有对象,共享系统为静态成员分配的一个存储空间,这个存储空间是程序执行main函数之前分配的。在实例化对象时不再为静态成员分配空间。也就是说静态成员数据不在对象空间中。

2022-09-08 14:06:07 1154

原创 C++中的函数重载详解(名字粉碎技术)

一、什么是函数重载?函数重载简介:在C++中,可以为两个或两个以上的函数提供相同的函数名称,只要参数类型不同,或者参数类型相同而参数个数不同,又或者参数类型参数个数相同,参数次序不同,称为函数重载。举例:int my_max(int a,int b){ return a>b?a:b;}char my_max(char a, char b){ return a>b?a:b;}double my_max(double a,double b){ retur...

2022-05-24 14:47:00 2551

原创 Linux中的静态库和共享库区别

库是一组预先编译好的方法的集合,Linux存储库的位置一般在/lib 和/usr/lib(64位系统在/usr/lib64),库的头文件放在/usr/include二、库的分类1.静态库命名规则:libxxx.a静态库的生成及使用:(1)先将需要生成库文件的所有.c文件编译成.o文件(2)创建静态库(使用ar命令):ar crv libxxx.a xxxx.o xxx.o (c:创建库 r:将方法添加进库中 v:显示过程)(3)静态库的使用:gcc -o main main.c -L

2022-05-22 16:05:29 553

原创 C++实现整型栈(附部分解析和源码)

#include<stdio.h>#include<stdlib.h>#include<vector>using namespace std;enum {STACK_INIT_SIZE=10,STACK_ISC_SIZE=2};class My_Stack{private: int _size; int *_data; int _top;public: //构造函数 My_Stack(const int sz=...

2022-05-19 08:28:34 817

原创 C++中的缺省函数

一、缺省函数的定义 一般情况下,函数调用时的形参个数与实参个数应当相同,但为了更方便的使用函数,C++也允许定义具有缺省参数的函数,这种函数调用时,实参个数可以与形参不相同。 缺省函数在定义函数时为形参指定缺省值(默认值) 这样的函数调用时,对于缺省参数,可以给出实参值,也可以不给.......

2022-05-14 10:11:05 4156

原创 C++中的inline函数(内联函数)

一、什么是内联函数 当程序执行函数调用时,系统要建立栈空间,保护现场,传递参数以及控制程序执行的转移等等,这些工作需要系统时间.............二、内联函数的特点1.是在编译期间在调用点展开函数2.当函数体代码过长(现场保护和现场恢复的时间与函数执行时间相差不多)或者是递归函数时将不会在调用点展开.......三、内联函数与宏的区别1.宏是在预编译时展开,而内联函数是在编译时展开的2.内联函数要对实参值进行检查,处理类型,而宏定义的参数没有类型概念,只有.........

2022-05-09 21:40:45 1955

原创 Linux中的gdb调试

目录一、调试信息1.debug版本​2.release版本二、gdb相关基础命令

2022-05-09 08:50:57 209

原创 Linux中的编译链接(gcc)

目录一、编译链接的过程二、编译链接命令1.预编译2.编译3.汇编4.链接三、多个源文件编译四、知识点补充一、编译链接的过程

2022-05-09 08:50:06 1842

原创 Linux中用户管理命令总结

一、系统存储用户信息的位置linux是一个多用户的系统1.系统存储用户信息的位置/etc/passwd : 存储用户的基本信息UID:用户GID:用户所属组二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('i

2022-05-08 09:21:39 466

原创 Linux中的进程简介以及进程管理有关命令

目录一、进程简介二、进程管理相关命令1.ps2.pstree3.kill4.pkill5.jobs6.fg和bg

2022-05-07 09:40:10 159

原创 Linux中有关文件的命令总结(查看、编辑、压缩、配置)

目录一、文件查看命令二、文件编辑命令1.vim的三种模式2.vim/vi 中常用命令3.末行模式下的操作三、配置文件1.什么是配置文件?2.配置文件的设置方法四、小知识点一、文件查看命令1.cat(1)查看文件内容(2)合并文件(3)往文件中写入数据(ctrl+d结束)代码示例:2.moremore 文件名(按回车/空格键继续查看)3.lessless 文件名(看完后不会显示到屏幕上,按上下键继续查看)4.head 显示文件前n行

2022-05-06 15:45:47 1787

原创 C++中的引用

目录一、引用定义二、const与引用的关系 常引用三、引用的好处总结一、引用定义引用定义:类型 &引用变量名称 = 变量名称,&和类型结合称之为引用符号,不是取地址符,代表别名,引用就是为对象起一个别名。注意:1.引用不分级,即不存在引用的引用(例:int && x = 10不是引用的引用,是右值引用) 2.没有空引用 3.引用必须初始化 4.系统不会给引用分配空间,它是别名代码示例:

2022-05-05 12:20:02 1269

原创 c++引用与指针的区别

一、从语法上来讲1.指针是存储某个实例的地址,引用是实例的别名2.程序为指针分配内存区域,而不为引用分配内存区域3.指针使用时要加 “ * ”,解引用,引用可以直接使用例:int main(){ int a = 10; int& b = a; int* p = &a; b = 100; *p = 200; return 0;}4.指针变量的值可以发生改变,存储不同实例的地址,引用在定义时就被初始化,之后无法改..

2022-05-05 11:54:01 3134

原创 Linux中修改文件权限方法

​一、文件类型在Linux操作系统中,一切皆文件,Linux不以扩展名来区分文件类型,而是在文件属性中有一列专门记录文件类型。普通文件:.c .cpp .h .txt .pdf 用 ' - ' 表示目录文件(文件夹): 用 ’ d ‘表示管道文件(用于进程间通信的一种文件):用' p '表示链接文件(相当于Windows上的快捷方式):用 ' l ' 表示设备文件:字符设备文件(c) 块设备文件(b) 套接字(s)用 ls -l 查看文件属性信息

2022-05-04 09:35:15 7991

原创 Linux基础命令总结(超全)

Linux中一些基础命令(1) pwd:显示当前所在位置的绝对路径(2) cd+路径:切换当前工作位置(3) cd . :退回到当前位置(4) cd .. :退回到上一层(5) ls:默认显示当前位置当前目录下的内容(6) clear :清屏,相当于翻页(7) cd ~ :直接进入到当前用户的家目录(8) cd - :切换到上一次所在位置,在两个位置间来回切换(9) mkdir + 文件名:创建一个目录(文件夹)(10) touch + 文件名:创建一个普通文件(

2022-04-28 19:45:08 3381

原创 Linux文件目录结构

目录一、Linux简介1.Linux简介2.Linux与windows系统的区别二、Linux文件目录1.文件目录结构关系图2.文件目录内容介绍3.家目录三、相对路径与绝对路径1.绝对路径名2.相对路径名一、Linux简介1.Linux简介Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。L

2022-04-27 09:26:36 7139 1

原创 const与指针的关系

一、const关键字1.const简介2.const的使用 二、const与指针的关系1.c语言与c++中const的区别2.const与指针

2022-04-26 12:28:08 1741

原创 C++基础之C++中的输入输出

目录文章目录前言一、输入输出流二、c++中输入输出语句1.标准输入设备2.标准输出设备3.原理三、iostream类库

2022-04-25 22:33:23 52742 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除