上次说了动态数组的组成以及结构,这次就再深入一点,讲讲关于链表、树这两种数据结构。
链表其实跟动态数组有点相似,都是线性结构,但是一个是逻辑上连续,一个是地址上也连续。链表的基本结构一个个链表结点,结点中有两个数据,一个是要储存的数据,一个是下一个结点的地址。
以上是创建结点的代码
以上是创建链表的代码
链表里可以创建许多方法 比如增添结点,按结点位置搜索结点,按结点内容搜索结点,删除结点等等。
以下,只用删除结点的代码举例:
树是有多个子结点的数据结构,而现在先只讨论二叉树,以下会用与上面相同格式的代码给出树的创建过程
首先是二叉树树结点的构造:
因为接下来要演示二叉树的例子,我把一串需要计算的字符串输入,把数据存储在二叉树里,进行计算。
以下是树的建立:
我需要的功能放在借口里:
以下将四个方法的代码给出:
按照这样的方法,可以熟悉二叉树这种数据结构的创建,遍历,以及应用。