刷新
实现二叉排序树的前中后序遍历

二叉排序树定义 二叉排序树(Binary Sort Tree),也称为二叉查找树(Binary Search Tree, BST)或有序二叉树,是一种特殊的二叉树数据结构。以下是二叉排序树的一些核心概念: 一个二叉排序树或者是一棵空树,或者是具有以下性质的二叉树: 右子树上所有结点的值均大于它的根结 ...

C语言实现循环队列——始化、入队、出队与完整测试

队列的基本操作实现 1.队列的概念 队列(Queue)—— 先进先出的数据结构 队列是一种线性数据结构,遵循 “先进先出”(FIFO, First In First Out) 的原则。如现实中的排队:先来的人先被服务,后来的人排在队尾等待。 基本操作: 入队(Enqueue):在队尾添加 ...

栈的两种存储结构(顺序存储和链式存储)

栈的操作实现 栈的概念 栈是一种后进先出(LIFO)的线性数据结构,只允许在一端(栈顶)进行插入和删除操作。新元素总是添加到栈顶,而删除也总是从栈顶移除最上面的元素。栈常用于函数调用、表达式求值、括号匹配等场景。 代码实现 顺序存储(Array-based Stack) #include <stdi ...

双向链表的定义与基本操作

双向链表操作实现 双向链表 双向链表(Doubly Linked List)是一种链式数据结构,其中的每个节点不仅指向下一个节点,还指向前一个节点。这与单向链表不同,后者每个节点只包含到下一个节点的引用。双向链表因此允许在两个方向上遍历:向前和向后。 每个节点在双向链表中通常包含三部分: 指向前一个 ...

单链表的定义与基本操作

单链表操作实现 1.什么是单链表? 单链表是一种常见的线性数据结构,由一系列节点组成,每个节点包含两个部分:数据域 和 指针域。数据域存储实际数据,指针域指向下一个节点。在单链表中,数据元素可以非连续地存储在内存中,而节点之间通过指针相互连接。 2.代码实现 链表的创建、插入、删除、查找等常用操作。 ...

线性表-顺序存储

顺序表的实现与测试-C语言版 一、顺序表概念 顺序表(Sequential List)是线性表的一种存储方式,指的是采用顺序存储结构的线性表。在顺序表中,数据元素按照它们的逻辑顺序依次存放在一段地址连续的存储单元中。这种存储方式允许通过数学计算快速定位到任何一个元素的位置,从而支持随机访问。但是,顺 ...

Linux c 运行时获取动态库所在路径

博主头像 记录一下如何在Linux环境下运行时获取动态库路径。 只讨论Linux amd64和arm64环境,因为使用的办法都是平台相关的不具备可移植性。 准备 一般来说动态库并不需要关心自己所在的文件系统上的路径,但业务有那么多总有一两个会有特殊需求。 现在给定一个动态库里的函数A,需求是要知道这个函数A是 ...