自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 二叉搜索树(BSTree)实现解析

二叉搜索树通过“左小右大”的局部有序性,将查找、插入、删除统一为沿树高的一条路径操作,因此平均可达到 O(logN) 的效率;但普通 BST 的树高强依赖输入序列,遇到有序数据会退化为链表导致最坏 O(N)。工程中若需要稳定性能通常采用AVL/红黑树等平衡树,但 BST 仍是理解有序结构、实现平衡树与 map/set 的核心基础。

2026-02-14 12:25:53 956

原创 C++中的多态

1️⃣必须存在继承关系2️⃣基类函数必须是virtual3️⃣通过基类指针或基类引用调用虚函数少一个都不是真多态。同一作用域中,函数名相同,但参数列表不同。public:派生类中出现与基类同名的成员,导致基类同名成员在派生类作用域内被隐藏。public:public:对比维度重载 Overload覆盖 Override隐藏 Hide是否要求继承❌✅✅是否要求 virtual❌✅❌是否同一作用域✅❌❌参数是否必须不同✅❌(必须相同)无关绑定时机。

2026-02-14 12:25:31 981

原创 C++中的继承

派生类对象可以赋值给基类对象/基类引用/基类指针(向上)基类对象不能赋值给派生类对象(除非显式转换,但通常不应该)多态设计中,推荐使用基类指针/引用来承载派生对象,避免切片代码复用:共性上提到基类支持多态(基类指针/引用操作派生对象)降低重复:统一接口、统一抽象。

2026-02-13 13:32:57 596

原创 非类型模板参数,模板特化及分离编译

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。

2026-02-13 13:32:35 894

原创 List的模拟实现

“双向”:每个结点有“循环”:尾结点 next 指回 head,head prev 指回尾“哨兵 head”:不存真实数据,仅用于统一边界这样做的好处:空表/非空表逻辑完全一致插入删除不用特殊判断头/尾begin()end()写法自然。

2026-02-10 13:44:02 549

原创 容器适配器

template<class T,dequevectorlisttemplate<class T,deque不能用vector(没有pop_frontdeque(双端队列):是一种双开口的"连续"空间的数据结构,双开口的含义是:可以在头尾两端进行插入和删除操作,且时间复杂度为O(1),与vector比较,头插效率高,不需要搬移元素;与list比较,空间利用率比较高。deque并不是真正连续的空间,而是由一段段连续的小空间拼接而成的,实际deque类似于一个动态的二维数组。template<

2026-02-10 13:43:42 681

原创 Vector的模拟实现

空容器,不分配内存。

2026-02-09 13:53:58 605

原创 String类的模拟实现

指向动态数组,容量为始终保证(保证c_str()可用)逻辑操作按_size,不依赖'\0',因此支持中间'\0'

2026-02-09 13:53:44 1005

原创 C++模板 STL

template <typename T> typename 和 class 在模板参数中没有区别class 类名public:类名(T value) : _data(value) {}private:T _data;

2026-02-08 10:00:26 517

原创 C/C++内存管理

new自定义类型class A {public:发生的事(顺序很重要):分配sizeof(A)的内存调用构造函数A()delete自定义类型delete p;发生的事:调用析构函数~A()释放内存项目内置类型自定义类型new只分配内存分配内存 + 调构造delete只释放内存调析构 + 释放new[]分配连续内存多次调用构造delete[]释放连续内存多次调用析构new/delete。

2026-02-08 10:00:04 580

原创 C++(3)初始化列表 友元函数 内部类

4. 成员变量在类中。

2026-02-07 10:48:02 726

原创 C++(2)类与对象 默认构造函数

面向对象的编程;默认构造函数

2026-02-07 10:46:57 727

原创 C++(1)命名空间 函数重载 引用 内联函数 auto关键字

分离会导致链接错误。因为inline被展开,就没有函数地址了,链接就会找不到。

2026-02-06 16:47:02 612

原创 堆,链式二叉树

开始调整。

2026-02-06 15:16:59 519

原创 类与对象(中)(构造函数)

构造函数

2022-10-07 19:40:25 234

原创 类与对象(上)

类和对象一些基础知识

2022-10-07 19:24:22 257

原创 动态内存管理

1.动态内存存在的原因2.动态内存函数的介绍(1)malloc函数(2)free函数(3)calloc函数(4)realloc函数eg:int main(){ //申请空间 int* ptr = (int*)malloc(40); if (ptr == NULL) //确保开辟空间成功 { perror("malloc"); return 1; } int i = 0; .

2022-05-17 14:42:49 299

原创 自定义类型:结构体,枚举,联合

结构体位段枚举联合(共用体)

2022-05-05 21:19:42 230

原创 字符串和内存函数

//自己写的 自己追加自己是存在问题的 '\0'被覆盖了char* my_strcat(char* arr1, const char* arr2){ char* ret = arr1; assert(arr1 && arr2); //找追加起始地点 while (*arr1 != '\0') { arr1++; } //拷贝 while (*arr1++ = *arr2++) { ...

2022-05-04 22:13:43 112

原创 数据的存储

类型的基本归类整型家族char大多数编译器char代表signed charshort无符号unsigned short 有符号 (signed) shortint无符号unsigned int 有符号 (signed) intlong无符号unsigned long 有符号 (signed) long浮点数家族floatdoublelong double C99才定义的,了解即可构造类型指针类型空类型整型在内存中的存储..

2022-03-13 23:26:44 350

原创 数据结构课设

Huffman编/译码器【问题描述】利用Huffman编码进行通信可以大大提高信道利用率.缩短信息传输时间,降低传输成本,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个Huffman码的编/译码系统。【基本要求】一个完整的系统应具有以下功能:(l)I:初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTre

2022-02-26 00:13:56 904

原创 最大公约数和最小公倍数

最大公约数与最小公倍数的不同求法

2022-01-18 14:06:15 383

原创 将三个整数从大到小输出

三个数字从大到小输出

2022-01-17 21:56:39 331

原创 多个学生成绩输出及计算

多个学生成绩输出及计算

2022-01-17 21:35:32 610

原创 总成绩和平均分计算

多门科目总成绩和平均分计算

2022-01-17 21:01:27 560

原创 反向输出一个数字(C语言)

C语言,反向输出一个数字

2022-01-17 20:48:20 6075

原创 数组与各种操作符简单介绍

数组与操作符简单介绍

2022-01-14 21:49:51 1921

原创 初识C语言(1)

C语言基本数据类型;变量;常量;变量作用域与生命周期;字符串、转义字符;语句。

2022-01-12 23:10:55 304

原创 想当程序员的开始

信管专业一些理解及学习编程的一些目标。

2022-01-10 20:19:05 408

空空如也

空空如也

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

TA关注的人

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