![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 96
数据结构的实现
卡拉肖克·小黑
这个作者很懒,什么都没留下…
展开
-
数据结构:排序解析
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序在我们生活中非常常见,比如买东西看的销量,价格的对比等。排序也分为内部排序和外部排序。内部排序是数据元素全部放在内存中的排序,外部排序则是数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。下面让我们正式认识排序吧。原创 2023-09-01 22:34:55 · 2451 阅读 · 95 评论 -
数据结构:二叉树及相关操作
在实现二叉树前,我们要先对树产生一些基本的认识,才可以去实现它。树的用途非常广泛,向文件系统的目录树结构等。树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。有一个特殊的结点,称为根结点,根节点没有前驱结点。除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1<= i <= m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继。因此,树是递归定义的。原创 2023-08-24 17:34:51 · 4337 阅读 · 95 评论 -
数据结构:栈和队列
栈和队列都是含有限制的线性表。前面的知识扎实的话实现栈和队列没有一点问题。都是顺序表和链表的其中一部分。原创 2023-08-21 21:53:23 · 3188 阅读 · 71 评论 -
带你玩转双链表
相信经过前面的学习,大家已经了解的单链表的缺陷和用途,今天我们学习双链表,和以前不同,今天双链表的实现我们增加一点点的难度,但我相信这些难度对大家都没有问题。和之前单链表的实现,我们的数据类型是固定的,主函数中传什么我们的单链表结构体中就需要相应的数据类型,今天双链表的实现我们将改为主函数(用户)传任何的数据类型我们都可以接收并且实现。本章涉及函数指针,回调函数,柔性数组的知识点,忘记的小伙伴们可以在本章复习一下哟。相信大家对我们双链表已经有了很深的了解,这个带头循环链表将是我们使用最多的结构。原创 2023-08-10 18:47:12 · 911 阅读 · 65 评论 -
手搓单链表
链表和顺序表都是线性表,都是数据结构中重要的部分,今天来看的单链表是很多高级结构的子部分,所以学好单链表有助于我们后期的提升。有一个或多个存放数据的结构体成员,还有一个指向下一个节点的指针。用来存储我们使用的数据。用来存储下一个节点的地址。原创 2023-08-09 14:48:45 · 377 阅读 · 55 评论 -
详解顺序表功能
动态顺序表只是在判断是否已满的地方多加一个扩容的函数,其他的代码和静态一模一样,思路也一模一样,我们把静态中的数组换为相应的指针,可以通过动态开辟的方式来进行增容。我们的增容是对结构体中的指针进行增容,而非对结构体本身进行增容。大家可以对比一下静态和动态的区别,动态只是在静态的基础上稍稍的进行一下改进,增加一个扩容的函数,其他的一模一样,我们下一个将会用一个小项目来加深我们顺序表印象,这是我们的第一个数据结构,我们还要用它和后面的链表进行对比。学习每个结构的优缺点,是我们在不同问题上选择最优的方案。原创 2023-08-01 18:24:58 · 613 阅读 · 26 评论