自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 红黑树

因为每个节点都存在颜色,并且不为黑色就为红色,所以我们可以定义一个表示颜色的枚举常量。红黑树依旧是三叉链。// 节点的左孩子// 节点的右孩子// 节点的双亲// 节点的值域// 节点的颜色{}

2024-10-05 17:07:29 991

原创 AVL 树

AVL树是一棵绝对平衡的二叉搜索树,其要求每个节点的左右子树高度差的绝对值都不超过1,这样可以保证查询时高效的时间复杂度,即l o g 2 ( N )。但是如果要对AVL树做一些结构修改的操作,性能非常低下,比如:插入时要维护其绝对平衡,旋转的次数比较多,更差的是在删除时,有可能一直要让旋转持续到根的位置。因此:如果需要一种查询高效且有序的数据结构,而且数据的个数为静态的(即不会改变),可以考虑AVL树,但一个结构经常修改,就不太适合。

2024-10-04 21:28:36 800

原创 map和set

们前面接触的vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。那什么是关联式容器?它与序列式容器有什么区别?关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高。**键值对:**用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息。

2024-10-03 17:59:32 881

原创 二叉搜索数

树不空,按二叉搜索树性质查找插入位置,插入新节点。树为空,则直接新增节点,赋值给root指针。节点的结构体TreeNode。析构通过递归的方式实现。

2024-10-02 16:22:58 300

原创 c++多态

多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。所以多态一定是要有继承,然后不同的对象去干某件事产生不同的行为。除了继承以外,多态还有两个重要的条件必须通过基类(父类)的指针或者引用调用虚函数被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写。

2024-09-29 15:28:35 1107

原创 c++继承

继承格式为class 类名 :继承方式 父类class car{ public:car(){}protected:int priceprivate:int age;BMW就继承了car的成员(包括成员函数和变量)car就是基类(父类)而BMW就是派生类(子类)继承方式有三种我们知道还有三种访问限定符,和继承方式是一样的,那么访问限定符和继承方式两两结合一共就有9种组合。虽然有很多组合但是实际上基本只有public继承方式。

2024-09-29 14:44:03 849

原创 容器适配器仿函数与priority_queue

priority_queue是一个容器适配器(如stack,queue)它的底层容器是vector。它的行为类似与heap(堆)默认情况下建立的是大堆。它的底层容器必须能支持随时访问任意位置的元素(这也是为了满足建堆的要求)

2024-09-25 21:52:32 463

原创 STL之list

首先保存被删除节点的指针用pDel保存,因为erase返回的是被删除节点的下一个节点的迭代器所以我们也要将其保存在pRet中,然后就就简单了,将被删节点的后一个节点的向前指针指向被删节点的前一个节点,将被删节点的前一个节点的向后指针指向被删除指针的后面一个节点即可。然后再让pos位置的前一个节点的向后的指针指向新的节点Node,pos位置的向前指针指向新节点Node即可。首先创建一个的节点Node让它的向前指针指向pos节点的前一个节点,它的向后指针指向pos位置的节点。两种迭代器运用函数的重载即可实现。

2024-09-22 13:34:52 1340

原创 STL之vector

vector是一个STL的一个容器,行为类似于变成数组,也就是存储空间是连续的,同时其空间大小又是动态可变的。vector访问元素的效率很高可以通过下标直接访问,但是其占用的空间很多,插入删除元素的效率很低。使用vector时记得包含头文件。

2024-09-21 16:21:25 1108

原创 string类

string是表示字符串的字符串类该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。string在底层实际是:basic_string模板类的别名,typedef basic_string<char, char_traits, allocator>string;不能操作多字节或者变长字符的序列**使用string类时,必须包含#include头文件以及using namespace std;**

2024-09-19 13:39:51 631 1

原创 string模拟实现(直接上源码)

【代码】string模拟实现(直接上源码)

2024-04-27 14:44:26 725

原创 cc++内存管理

int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;

2024-04-23 21:55:34 960

原创 类和对象(三)

内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去访问内部类的成员。外部类对内部类没有任何优越的访问权限。

2024-04-23 21:31:49 949

原创 类和对象(二)

如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦用户显式定义编译器将不再生成。一旦涉及到资源管理则必需是类的成员函数。**注意:**C++11 中针对内置类型成员不初始化的缺陷,又打了补丁,即:内置类型成员变量在。**注意:**在编译器生成的默认拷贝构造函数中,内置类型是按照字节方式直接拷贝的,而自定。构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任。一个全局的赋值运算符重载,就和编译器在类中生成的默认赋值运算符重载冲突了,故赋值。

2024-04-18 12:55:28 1001

原创 类和对象(一)

c++c

2024-04-17 20:07:19 969 1

原创 C++入门

c++入门

2024-04-17 15:54:33 697 1

原创 Linux基本工具(二)

Linux基本工具

2024-04-15 21:55:56 791 2

原创 Linux基本工具(一)

Linux基本工具

2024-04-14 21:59:16 2087 1

原创 Linux权限

Linux权限

2024-04-14 18:45:13 670 1

原创 Linux基本指令(三)

Linux基本指令完结篇

2024-04-07 19:53:53 951 1

原创 Linux基本指令(二)

Linux基本指令介绍

2024-04-06 17:57:05 2041 1

原创 Linux基本指令(一)

功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,功能:对于目录,该命令列出该目录下的所有子目录与文件。Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在。-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。

2024-04-01 13:26:18 851

原创 排序算法(动图+源码)详解

我们还是将左边做key,然后保存它的值,然后它就是一个坑,还是两个指针,由于左边有一个坑,所以右边就要找小的数来填这个坑,然后将右边的那个位置变成新的坑,然后左边找大,找到后接着填坑,更新坑的位置,L和R一定有一个是坑,所以,当他们相遇时,那个位置一定是坑,然后将key放进去即可。序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排。:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次。

2024-03-31 22:06:54 1953 1

原创 线性表之栈和队列

介绍数据结构中的栈和队列

2024-03-30 21:47:43 629

原创 顺序表与链表

介绍线性表中的顺序表与链表

2024-03-27 13:32:02 911 1

原创 字符串函数与内存函数

介绍字符串函数与内存函数

2024-03-21 21:52:41 867 1

原创 数据在内存中的存储(C语言)

简述数据在内存中的存储

2023-11-05 18:32:05 109 1

空空如也

空空如也

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

TA关注的人

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