- 博客(7)
- 收藏
- 关注
原创 《数据结构》保姆级代码大题解析 —— 链表(上)
本文总结了单链表和双链表的常见算法操作,包括删除特定值结点、查找最小值、链表逆置、区间删除、链表拆分、去重、求交集、子序列判断和对称性判断等。所有算法均基于带头结点的链表结构,重点解决单链表删除时的前驱记录、双指针遍历、边界条件处理等核心问题。针对有序链表的特性,提出了高效的双指针遍历策略;对于就地操作要求,设计了指针修改而非新建链表的方法。每种算法都详细阐述了核心思路、边界情况处理和注意事项,为链表操作提供了系统性的解决方案。
2026-04-26 10:00:00
1344
72
原创 C++类和对象(中)
本文摘要: C++类中的默认成员函数包括构造函数、析构函数、拷贝构造函数、赋值运算符重载等6个基础函数。构造函数在对象创建时自动调用完成初始化,支持重载和默认参数;析构函数在对象销毁时自动调用完成资源清理。拷贝构造函数用于对象初始化时的拷贝,需注意深浅拷贝问题;赋值运算符重载用于对象间的赋值操作。日期类实现展示了运算符重载、流操作符重载等实用技巧,以及如何通过复用代码简化实现。文章详细阐述了这些函数的特性、使用场景和注意事项,包括编译器自动生成规则、参数传递优化等核心概念。
2026-04-25 15:53:09
640
54
原创 C++类和对象(上)
本文介绍了C++中类的定义、实例化、this指针以及C++与C语言实现栈的对比。主要内容包括:1. 类定义格式及成员变量/函数区分,访问限定符的作用;2. 类实例化概念及对象内存分配规则;3. this指针的原理及其在成员函数中的隐式传递机制;4. 通过栈的实现对比,展示C++封装特性带来的代码组织优势和安全性提升。文章通过具体代码示例,详细说明了C++面向对象编程的核心概念和实现细节。
2026-04-11 20:34:02
734
62
原创 C++基础知识衔接(下)
本文系统介绍了C++中的引用、内联函数和nullptr三个重要特性。引用本质是变量的别名,与指针相比更安全但不可修改绑定对象;内联函数通过代码展开提升小函数调用效率,但可能增加代码体积;nullptr解决了NULL在函数重载中的类型歧义问题。文章详细分析了引用的特性、const引用的权限控制、指针与引用的区别,阐述了内联函数的优缺点及使用场景,并通过实例展示了nullptr相比NULL的优势。这些特性共同构成了C++高效编程的重要基础。
2026-03-29 18:13:14
673
54
原创 《数据结构》宗师级大记忆恢复术 —— 链表
本文系统介绍了单链表、双链表、循环链表和静态链表的定义、基本操作及与顺序表的区别。单链表采用链式存储结构,每个结点包含数据域和指针域,支持头插法、尾插法等操作;双链表增加前驱指针,便于双向操作;循环链表通过调整指针实现循环连接;静态链表用数组模拟链式结构。与顺序表相比,链表在插入删除操作上更高效,但查找效率较低。文章详细阐述了各类链表的初始化、插入、删除等核心操作,并分析了其优缺点及适用场景,为数据结构学习提供了全面参考。
2026-03-21 20:53:36
925
43
原创 《数据结构》保姆级代码大题解析 —— 顺序表
顺序表是一种线性表的顺序存储结构,采用连续存储单元实现逻辑相邻元素物理相邻。其特点包括随机存取(O(1)访问)、高存储密度,但插入删除需移动大量元素(O(n)时间)。静态分配空间固定,动态分配可扩容。基本操作含初始化、插入删除(平均移动n/2元素)、查找(O(n))。典型算法包括:删除最小值(末位填补)、逆置(三次原地逆置)、删除指定值(快慢指针)、合并有序表(三指针法)、循环移位(三段逆置)、中位数查找(二分比较)等。高效算法设计需兼顾时间(如二分法降至O(logn))和空间(O(1)辅助空间),例如主元
2026-03-21 00:38:00
899
23
原创 C++基础知识衔接(上)
C++命名空间(namespace)用于解决全局命名冲突问题,通过作用域隔离实现标识符本地化。命名空间支持嵌套定义和多文件自动合并,标准库组件位于std命名空间。C++输入输出使用<iostream>库,通过流操作符(<< >>)实现类型自识别。缺省参数分为全缺省和半缺省,必须从右向左连续缺省。函数重载允许同名函数通过参数类型、数量或顺序不同来区分,但需避免歧义调用。这些特性共同提升了C++的模块化开发能力和代码灵活性。
2026-03-15 17:37:59
863
33
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅