用最简单的方式学Python单链表
Posted 宇宙之一粟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用最简单的方式学Python单链表相关的知识,希望对你有一定的参考价值。
Python 实现单链表
在本博客中,我们介绍单链表这种数据结构,链表结构为基于数组的序列提供了另一种选择(例如Python列表)。
基于数组的序列和链表都能够对其中的元素保持一定得顺序,但采用的方式截然不同
什么是单链表
单链表 最简单的形式就是由多个节点的集合共同构成一个线性序列。每个节点存储一个对象的引用,这个引用指向序列中的一个元素,即存储指向列表的下一个节点。
其实,上面的术语用生活中的大白话来解释,就是我们现在有三个人——我、你、他。当我用手指指向你,你用手指指向他,这样就形成了一个单链表,手指就是一个引用,而“我、你、他”就是序列中的元素。不知道你理解了没有?
class Node(object):
'''声明节点'''
def __init__(self, element):
self.element = element # 给定一个元素
self.next = None # 初始设置下一节点为空
class Singly_linked_list:
'''单链表'''
def __init__(self, node=None):
self.__head = node
def is_empty(slef):
'''判断链表是否为空'''
return self.__head == None
def length(self):
'''返回链表长度'''
cur = self.__head # cur游标,用来移动遍历节点
count = 0 # count记录节点数量
while cur is not None:
count += 1
cur = cur.next
return count
def travel_list(self):
'''遍历整个链表,打印每个节点的数据'''
cur = self.__head
while cur is not None:
print(cur.elememt, end=" ")
cur = cur.next
print("
")
def insert_head(self, element):
newest = Node(element) # 创建一个新节点
if self.is_empty():
self.__head = newest
else:
cur = self.__head
while cur.next is not None:
cur = cur.next
cur.next = newest
以上是关于用最简单的方式学Python单链表的主要内容,如果未能解决你的问题,请参考以下文章
刚开始学数据结构不太明白?8000字吐血总结数据结构之单链表