自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 数据结构--树

在这篇博客中,我们将使用C++代码展示如何通过先序遍历的方法来构建二叉树,并展示几种常见的遍历方法:先序遍历、中序遍历和后序遍历,包括递归和非递归实现。这一步非常重要,因为在C++中,未初始化的指针会指向未知的内存地址,这会导致未定义行为。本文介绍了如何使用先序遍历构建二叉树,并展示了递归和非递归方法实现的先序、中序和后序遍历。使用栈来模拟递归的过程,记录最后访问的节点以决定何时访问右子树。使用栈来模拟递归的过程,逐步访问每一个节点。使用栈来模拟递归的过程,逐步访问每一个节点。4. 遍历二叉树的各种方法。

2024-05-21 17:47:32 165

原创 压缩矩阵(稀疏矩阵)的转置

这段代码实现了一个压缩矩阵(稀疏矩阵)的基本操作,包括初始化、打印和转置。

2024-05-13 16:54:23 236 1

原创 数据结构--二维数组

这段代码定义了两种二维数组的数据结构和相关操作,包括动态分配的二维数组和静态分配的二维数组。下面是这段代码的运行结果。

2024-05-13 16:26:40 389 2

原创 数据结构--循环队列

这段代码实现了一个基于静态数组的循环队列(环形队列),包括队列的初始化、入队、出队和打印队列中的元素等功能。这段代码展示了如何使用静态数组和模运算来管理循环队列的头尾指针,从而实现一个固定大小的循环队列。代码中使用了 malloc 来动态分配内存.循环队列通常要将尾部空出,以免出现当队满时,rear指针和front指针相等,从而无法判断是队满还是队空。

2024-05-08 20:21:55 292 1

原创 数据结构--链队

这段代码展示了如何使用结构体和指针在 C++ 中实现基本的队列操作。代码中使用了 malloc 来动态分配内存,使用 free 来释放内存,确保了内存管理的正确性。这段代码实现了一个基于链表的队列(链队),包括队列的初始化、入队、出队和打印队列中的元素等功能。

2024-05-08 20:09:24 378 1

原创 汉诺塔问题--递归实现

【代码】汉诺塔问题--递归实现。

2024-05-08 20:00:15 242 1

原创 顺序栈的应用--括号匹配

括号匹配是一个在计算机科学和编程中常见的问题,通常涉及到检查一个字符串中的括号是否正确地配对。这通常意味着每一个开括号(如。这个算法的时间复杂度是 O(n),其中 n 是字符串的长度。它只需要一次遍历字符串,并且每个字符的处理时间都是常数。)都必须有一个对应的闭括号(如。),并且它们的顺序必须是正确的。

2024-04-26 22:43:07 397 1

原创 数据结构-栈的实现

1.结构体定义:使用 `typedef struct CharStack` 定义了一个栈结构,包含一个整数 `top` 表示栈顶位置,和一个字符数组 `data` 存储栈中的元素。2.初始化栈:`charStackInit` 函数创建一个栈实例,初始化栈顶 `top` 为-1,表示栈为空。4.压栈操作:`push` 函数将一个字符压入栈中。3.输出栈内容:`outputStack` 函数遍历栈,从栈底到栈顶输出所有元素。7. 主函数:`main` 函数调用 `pushPopTest` 函数进行测试。

2024-04-24 19:51:49 383

原创 数据结构的应用-多项式的和

本篇文章实现了多项式求和,用结构体存放了一项的系数和指数,每一项用链表连接,求和方法采用的是用现成的链表,将结果直接,而没有创建新的链表,它遍历两个链表,根据指数大小合并节点或者合并系数。这个代码如果对于两个链表(链表里面的多项并没有按照指数由小到大的顺序排列)的情况不适用。

2024-04-24 18:14:20 500

原创 数据结构-双向链表

insertElement函数在链表的指定位置插入一个新的元素。首先找到插入位置的前一个节点,然后创建新节点并调整相应的指针,以将新节点插入到链表中。deleteElement函数从链表中删除指定的元素。首先找到该元素的前一个节点,然后调整指针以从链表中移除该元素,并释放其内存。initLinkList函数创建一个头节点,数据域为空字符,前驱和后继指针都设置为NULL,表示一个空的双向链表。本段代码简单实现了双向链表的基本操作,包括初始化链表、插入元素、删除元素、打印链表内容以及一个基础的地址测试。

2024-04-17 20:38:48 703 1

原创 数据结构-静态链表

这段代码实现了一个静态链表的基本操作,包括初始化、插入元素、删除元素和打印链表内容。静态链表使用数组模拟链表结构,每个节点包含数据域和指向下一个节点索引的next域。该代码中nodes为一个静态链表的指针,used是一个布尔类型的数组,用来表示静态链表对应位置是否存放了data,next是一个整数,表示下一个元素的相对地址,用来索引下一个元素。1.静态链表的初始化。3.链表中元素的插入。

2024-04-17 19:45:55 657

原创 数据结构-单链表

(2)尾插法(在链表尾部添加一个元素)(4)删除链表中任意一个元素。(3)在链表中间插入元素。(5)打印链表中的元素。5.任意位置插入新元素。2.初始化链表头节点。

2024-04-08 20:50:59 419

原创 数据结构--顺序表功能的实现

这段代码实现了一个固定大小的顺序表(Sequential List)的基本操作,包括初始化、插入、删除、查找、获取元素、清空列表以及输出列表和内存地址信息。顺序表使用结构体SequentialList表示,其中包含一个整型数组data用于存储元素,和一个整型变量actualLength用于记录当前顺序表的实际长度。通过固定大小的数组来存储数据,使得数据的访问速度快,但同时也限制了顺序表的最大容量。6.删除下标为paraposition的元素,并返回其值。8.通过元素返回元素下标,元素不存在,返回-1。

2024-04-06 19:45:11 494

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除