Python实现节点

在某些情况下,无法在连续的内存块中为数据分配内存。 因此,我们在数据元素中记录下一个数据的内存地址;此类结构称为指针。 但是在Python中,我们将它们称为节点。

节点在Python中是处理各种其他数据结构的链表和树的基础。

创建节点

通过实现一个类来创建节点,该类将保存指针和数据元素。在下面的示例中,我们创建一个名为daynames的类来保存工作日的名称。nextval指针被初始化为null和三个节点,并使用如图所示的值进行初始化。

节点e1得nextval指针指向e3,而节点e3得nextval指针指向e2。

class daynames:
    def __init__(self,dataval=None):
        self.dataval = dataval
        self.nextval = None
        
e1 = daynames('星期一')
e2 = daynames('星期二')
e3 = daynames('星期三')

e1.nextval = e3
e3.nextval = e2

遍历节点元素

我们可以通过创建一个变量并为其分配第一个元素来遍历上面创建的节点的元素。 然后,我们使用while循环和nextval指针打印出所有节点的元素。

thisvalue = e1

while thisvalue:
    print(thisvalue.dataval)
    thisvalue = thisvalue.nextval

执行上面代码,将依次打印星期一,星期三,星期二。

我们可以通过在链表和树之类的常规数据结构中使用此节点容器来实现适当的方法,从而完成诸如插入和删除之类的其他操作。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1346.html

分类: 计算机技术
推荐阅读:
Python skimage库的pip安装方法 skimage库是Python语言中一个图像处理算法的集合,它是完全免费的,且不受限制;skimage的全称为scikit-image,属于第三方库,要在python中使用它,需要自行安装;
Golang实现HTTP代理服务 这篇文章的目的是教大家如何使用Go语言实现一个简单的HTTP代理服务程序;HTTP代理服务就是转发客户端发送的网络请求到远程服务器,得到远程服务器的响应后将响应内容返回给客户端。
C语言实现矩阵乘法 本文将使用C语言实现矩阵乘法;分别生成阶为m*n和p*q的两个矩阵,以得到阶为m*q的结果矩阵,其中n等于p。
Python实现线性搜索(linear search) 线性搜索(linear search)通过从第一个元素开始遍历,与列表中的每个元素进行比较,直到匹配到元素或全部匹配完毕为止;
Python callable()函数 在 Python 中,callable() 是一个内置函数,用于检查给定对象是否是可调用的。如果对象是可调用的,则返回 True,否则返回 False。
Python里with语句的用法与技巧 本文将详细讲解Python语言中with语句的用法,以及如何让自定义的类也支持with语句;