码迷,mamicode.com
首页 > 编程语言 > 详细

用最简单的方式学Python单链表

时间:2019-10-30 13:13:40      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:ini   数据   解释   object   return   移动   对象   线性   单链表   

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("\n")
  
  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单链表

标签:ini   数据   解释   object   return   移动   对象   线性   单链表   

原文地址:https://www.cnblogs.com/yuzhou-1su/p/11764180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!