- 博客(9)
- 收藏
- 关注
原创 C++学习笔记【自用】
C++是在C语言基础上发展而来的,核心是在保留C语言高效性和底层控制能力的同时,引入了面向对象思想(如类、继承、多态)和泛型编程(如模板),让代码更适合复杂程序的设计;相比C语言,它通过类的封装让数据和操作更安全,借助继承与模板大幅提升代码复用效率,还自带STL标准库提供现成的容器和算法,省去重复开发的麻烦,同时兼容C的语法,实现了“既灵活又高效”的编程体验。函数重载是 C++ 的核心特性,允许同一作用域内定义同名函数,但要求参数列表(个数、类型、顺序)必须不同。编译器会根据调用时的参数自动匹配对应的函数,
2026-04-15 19:22:47
385
原创 二叉树链式结构的实现--数据结构
/ 定义二叉树节点存储的数据类型(便于后续修改类型)// 定义二叉树节点结构体,并起别名 BTNode// 节点存储的数据// 指向左子节点的指针// 指向右子节点的指针} BTNode;// 结构体别名,简化后续使用。
2025-07-31 02:26:47
352
原创 从零开始理解“栈”【C语言版】
栈(Stack)是一种线性数据结构,它的核心特点是“先进后出”(Last In, First Out,简称 LIFO)—— 最后进入栈的元素,会最先被取出。可以把栈想象成一个 “弹匣”:最后压入的子弹,会最先被射出;或者像一摞盘子,只能从最顶端取放。栈的基本术语栈顶(Top):栈中允许插入和删除操作的一端。想象成摞盘子时,你伸手操作的那一端。栈底(Bottom):栈中固定不动的一端,只有当栈中所有元素都被移除后,才能 “触及” 到栈底。空栈:当栈中没有任何元素时,称为空栈。此时栈顶和栈底重合。
2025-07-25 22:59:30
598
原创 手把手实现动态顺序表(C 语言):从原理到完整代码
首先用结构体封装动态顺序表的核心属性:为了增添顺序表数据类型的灵活性,这里我们设置int整形为数据类型,实际情况可根据需要调整。另设置初始的顺序表容量为4。4int size;//有效数据个数//空间容量}SL;//为后续表示方便,通过typedef为该结构体取一个别名,接下来可以用 SL 快速定义顺序表变量。
2025-07-22 05:56:30
646
原创 函数栈帧的创建和销毁(x86-64架构不压栈版)
栈帧是函数调用的 “内存快照”,其结构串联了函数的参数、变量、调用关系和执行状态。在调试中,栈帧是 “还原错误现场” 的核心依据,能帮助快速定位崩溃位置、分析变量异常和调用链问题;在优化中,栈帧的大小、创建开销和内存局部性,直接指导内存占用、调用效率和缓存利用的优化方向。
2025-07-14 01:31:32
840
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅