香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python单链表的简单实现方法


时间:2021-11-09 10:24 作者:admin610456


本文实例讲述了python/' target='_blank'>python单链表的简单实现方法,分享给大家供大家参考。具体方法如下:

通常来说,要定义一个单链表,首先定义链表元素:Element.它包含3个字段:

list:标识自己属于哪一个list
datum:改元素的value
next:下一个节点的位置

具体实现代码如下:

class LinkedList(object):    class Element(object):        def __init__(self,list,datum,next):       self._list = list      self._datum = datum       self._next = next    def getDatum(self):       return self._datum    datum = property(      fget = lambda self: self.getDatum())    def getNext(self):      return self._next    next = property(      fget = lambda self: self.getNext())  def __init__(self):    self._head = None    self._tail = None  def getHead(self):    return self._head   head = property(    fget = lambda self: self.getHead())   def prepend(self,item):    tmp = self.Element (self,item,self._head)    if self._head is None:      self._tail = tmp     self._head = tmp   def insert(self, pos, item):    i = 0    p = self._head    while p != None and i < pos -1:      p = p._next      i += 1    if p == None or i > pos-1:      return -1    tmp = self.Element(self, item, p._next)    p._next = tmp    return 1  def getItem(self, pos):    i = 0    p = self._head    while p != None and i < pos -1:      p = p._next      i += 1    if p == None or i > post-1:      return -1    return p._datum  def delete(self, pos):    i = 0    p = self._head    while p != None and i < pos -1:      p = p._next      i += 1    if p == None or i > post-1:      return -1    q = p._next    p._nex = q._next    datum = p._datum    return datum  def setItem(self, pos, item):    i = 0    p = self._head    while p != None and i < pos -1:      p = p._next      i += 1    if p == None or i > post-1:      return -1    p._datum = item    return 1  def find(self, pos, item):    i = 0    p = self._head    while p != None and i < pos -1:      if p._datum == item:        return 1      p = p._next      i += 1    return -1  def empty(self):    if self._head == None:      return 1    return 0  def size(self):    i = 0    p = self._head    while p != None and i < pos -1:      p = p._next      i += 1    return i  def clear(self):    self._head = None    self._tail = Nonetest = LinkedList()test.prepend('test0')print test.insert(1, 'test')print test.head.datumprint test.head.next.datum

希望本文所述对大家的Python程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)