用最简单的方式学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字吐血总结数据结构之单链表

数据结构单链表入门代码

数据结构单链表入门代码

数据结构单链表入门代码

python用单链表写一个通讯录,包括添加,删除(可恢复),查找等基本功能

单链表~增删查改(附代码)~简单实现