python操作链表的示例代码

 更新时间:2020年09月27日 14:35:28   作者:HHMLXL  
这篇文章主要介绍了python操作链表的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
class Node:
  def __init__(self,dataval=None):
    self.dataval=dataval
    self.nextval=None


class SLinkList:
  def __init__(self):
    self.headval=None

  # 遍历列表
  def traversal_slist(self):
    head_node=self.headval
    while head_node is not None:
      print(head_node.dataval)

      head_node=head_node.nextval


#   表头插入结点
  def head_insert(self,newdata):
    Newdata=Node(newdata)
    Newdata.nextval=self.headval
    self.headval=Newdata

  # 表尾插入结点
  def tail_insert(self,newdata):
    Newdata=Node(newdata)

    if self.headval is None:
      self.headval=Newdata
      return
    head_node = self.headval
    while head_node.nextval :
      head_node=head_node.nextval
    head_node.nextval=Newdata

#   在两个数据结点之间插入
  def middle_insert(self,middle_node,newdata):
    Newdata=Node(newdata)
    if middle_node is None:
      return
    Newdata.nextval=middle_node.nextval
    middle_node.nextval=Newdata

#   删除结点
  def remove_node(self,newdata):
    head_node=self.headval
    if head_node==None:
      return
    if head_node.dataval == newdata:
      self.headval = head_node.nextval
      head_node = None
      return
    while head_node is not None:
      prev=head_node
      head_node=head_node.nextval
      if head_node:
        if head_node.dataval==newdata:
          prev.nextval=head_node.nextval
          
          
lis=SLinkList()
lis.headval=Node('aa')
ee=Node('bb')
lis.headval.nextval=ee

lis.head_insert('cc')
lis.tail_insert('dd')
lis.middle_insert(ee,"Fri")
lis.remove_node('bb')

lis.traversal_slist()

以上就是python操作链表的示例代码的详细内容,更多关于Python链表的资料请关注脚本之家其它相关文章!

相关文章

  • python/golang实现循环链表的示例代码

    python/golang实现循环链表的示例代码

    这篇文章主要介绍了python/golang如何实现循环链表,帮助大家更好的理解和学习循环链表的实现方法,感兴趣的朋友可以了解下
    2020-09-09
  • opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器

    opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器

    这篇文章主要介绍了opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python 3.7新功能之dataclass装饰器详解

    Python 3.7新功能之dataclass装饰器详解

    这篇文章主要给大家介绍了关于Python 3.7新功能之dataclass装饰器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • django如何根据现有数据库表生成model详解

    django如何根据现有数据库表生成model详解

    这篇文章主要给大家介绍了关于django如何根据现有数据库表生成model的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友可以参考下
    2022-08-08
  • Python中的文本相似度的计算方法总结

    Python中的文本相似度的计算方法总结

    在自然语言处理(NLP)领域,文本相似度计算是一个常见的任务,本文为大家整理了Python中的文本相似度常见计算方法,希望对大家有所帮助
    2023-05-05
  • Python selenium根据class定位页面元素的方法

    Python selenium根据class定位页面元素的方法

    这篇文章主要介绍了Python selenium根据class定位页面元素的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • python如何修改文件时间属性

    python如何修改文件时间属性

    这篇文章主要介绍了python修改文件时间属性的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-02-02
  • 使用PyInstaller 打包配置文件

    使用PyInstaller 打包配置文件

    这篇文章主要介绍了使用PyInstaller 打包配置文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python实现字典依据value排序

    Python实现字典依据value排序

    新华字典大家都使用过吧,那么使用python语言是如何实现字典排序的呢?下面跟着本教程一起学习Python实现字典依据value排序,需要的朋友参考下吧
    2016-02-02
  • python 中sys.getsizeof的用法说明

    python 中sys.getsizeof的用法说明

    这篇文章主要介绍了python 中sys.getsizeof的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05

最新评论