在数据结构的世界里,队列是一种遵循 “先进先出”(FIFO,First In First Out)规则的线性表,它就像我们日常生活中排队买票的队伍,先到的人先完...
在编程世界里,队列(Queue)是一种遵循 “先进先出”(FIFO,First In First Out)规则的线性数据结构,就像我们日常生活中的排队场景 ——...
在数据结构中,栈的 “后进先出” 特性广为人知,上一篇我们聊了基于数组的顺序栈,它虽高效但容量固定,容易出现栈溢出或内存浪费的问题。今天就来介绍一种更灵活的实现...
在数据结构的世界里,“栈” 是一个既基础又实用的概念。它就像我们日常生活中叠放的盘子 —— 只能从最上面拿取,也只能往最上面添加,这种 “后进先出”(LIFO,...
在 C 语言数据结构学习中,单链表是最基础也最常用的线性结构之一。但单链表的特性决定了它无法像数组那样随机访问元素,这使得 “找倒数节点”“删中心节点”“判断循...
在算法世界里,排序算法是基础中的基础,而归并排序凭借其稳定的时间复杂度和清晰的逻辑结构,成为很多开发者学习递归思想的首选案例。今天我们就以 C 语言为工具,从零...
在 C 语言学习过程中,strlen 和 sizeof 是两个高频出现的 “计算工具”,但很多初学者容易将它们混淆,甚至在实际开发中因误用导致程序 bug。本文...
在 C 语言编程中,字符数组的倒序操作是常见的基础需求。常规的循环实现方式大家可能并不陌生,但今天我想和大家分享一种更具 “编程思想” 的实现方式 ——递归。递...
在 C 语言的学习旅程中,指针无疑是一个绕不开的重点,也是很多初学者感到困惑的难点。有人说 “不懂指针,就不算真正学会 C 语言”,这句话虽有些绝对,却充分体现...
在很多人眼中,C 语言是偏向底层、充满逻辑感的编程语言,似乎与 “浪漫”“趣味” 这类标签关联不大。但今天要分析的这段 C 语言代码,却用简洁的逻辑实现了一个充...
在数据结构的世界里,单链表就像一条灵活的 “链子”,它由一个个 “链节”(节点)串联而成,能够高效地存储和操作数据。相比于数组,单链表在数据插入、删除等操作上具...
单链表的反转本质是调整节点指针指向,将原本 “后继指向” 改为 “前驱指向”。给定代码中,通过三个指针(first、second、third)实现高效反转:初始...
https://www.bilibili.com/video/BV1FEJNzLEv7/?spm_id_from=333.1387.collection.vid...
多态(Polymorphism)是面向对象编程(OOP)中的一个重要概念,指的是同一个接口或方法在不同情况下表现出不同的行为。多态性允许不同的类对同一消息做出不...
但是在处理未完成之前,必然存在着一个零和非零数共存的区域,所以在处理的过程当中一共有三个区域,0区,非0区和未处理区。要将整段数据划分成三个区域,那么我们需要几...
基类的指针或者引⽤可以通过强制类型转换赋值给派⽣类的指针或者引⽤。但是必须是基类的指针
在前面我们学习了模板的基础用法【c++】 模板初阶-CSDN博客初步认识了函数模板和类模板,接下来让我们看看模板还有哪些进阶的应用。
成员变量储存在对象中,而p是空指针,_a要通过this指针访问,而this是指向p的指针,所以this是空指针,通过空指针去访问_a,程序会崩溃。
前面我们实现了单链表,单链表只是链表的一种。可以根据以下几个标准来判断链表的类型:
在前面我们学习了顺序表,顺序表在数组的基础上提供了很多现成的方法,方便了我们对数据的管理,但是我们也发现顺序表有着许多不足: