- 博客(6)
- 收藏
- 关注
原创 [C语言]单链表及其应用 +双链表
摘要:本文详细介绍了单链表的概念、结构与实现方法。链表作为非连续存储结构,通过节点指针实现逻辑顺序,解决了顺序表插入/删除效率低、扩容浪费等问题。文章重点讲解了单链表的各类操作:包括节点创建、打印、尾插/头插、尾删/头删、查找、指定位置插入/删除,以及链表销毁等。特别强调了对空链表和头节点的特殊处理,以及二级指针在链表操作中的关键作用。每种操作都附有代码示例和错误分析,帮助读者理解链表实现的细节和注意事项。
2025-06-26 15:28:14
674
原创 [C语言]链表前提知识:顺序表及其应用
顺序表是对数组的封装,实现了常用增删改查操作。文章介绍了顺序表的分类(静态/动态)、实现方式及常见操作。重点阐述了动态顺序表的实现细节,包括初始化、销毁、插入(尾插、头插)、删除(尾删、头删)、指定位置操作等。特别强调了增容策略(2倍扩容)、边界检查(容量不足/空指针处理)和错误处理机制。通过将增容检查封装为独立函数提高代码复用性,展示了如何通过断言和临时指针保证程序健壮性。最后给出了完整的顺序表实现代码,包含头文件和源文件的全部接口定义。
2025-06-25 11:47:44
1001
原创 C语言指针讲解(0基础也能看懂)
本文系统介绍了C语言指针的核心概念与应用。主要内容包括:1)指针基础:地址运算、指针变量定义及操作(&、*),强调指针变量初始化的重要性;2)指针与函数:详细分析了指针作为函数参数的4种交换实现方式,对比了值传递与地址传递的区别,并介绍了返回指针的函数;3)指针与数组:阐述了一维/二维数组的指针表示法,包括首地址偏移法和指针移动法,比较了不同方法的效率;4)特殊应用:指针数组作为main函数参数实现命令行处理。通过多个代码示例(如数组逆置、内存分配等)具体演示了指针操作的常见用法和注意事项。
2025-06-24 08:23:06
1321
原创 C语言数组(0基础照样能看懂)
例如:a[0]就是数组a中序号为0的元素,它和一个简单变量的地位和作用相似。如果只对部分数据赋初值,第一维的长度也可以不指定,但元素必须分行赋初值。如果对全部数据都赋初值,则定义时第一维的长度可以不指定,但第二维的长度不能省。,首先可以把它先理解为一个一维数组,它有3个元素: a[0], a[1],例如:a[2][3]表示数组a中序号为2的行中序号为3的列的元素。如:int a[25];部分初始化:一部分元素有对应的值赋予,未赋值的自动为零。为元素(变量)分配连续的存储空间;所有的元素(变量)字节相同;
2025-06-23 13:23:15
659
原创 构造函数和析构函数
本文介绍了C++构造函数和析构函数的核心概念:1. 构造函数包括有参构造、无参构造和默认构造,用于初始化对象状态;2. 析构函数自动调用,用于清理资源,特别是堆内存;3. 拷贝构造函数分为浅拷贝和深拷贝,指针成员需采用深拷贝避免内存问题;4. 构造函数初始化列表的高效初始化方式及其强制使用场景(如const成员、无默认构造的类成员)。文章通过代码示例详细说明了各类构造函数的定义、调用方式及注意事项,并分析了内存管理机制。
2025-06-15 17:13:36
1090
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人