国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python單鏈表的簡單實現方法

2019-11-25 18:12:27
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瓮安县| 奉新县| 家居| 岑巩县| 靖远县| 西畴县| 正安县| 临漳县| 霍林郭勒市| 都江堰市| 资溪县| 忻州市| 富阳市| 闵行区| 南召县| 隆德县| 黑水县| 桐乡市| 城口县| 辽宁省| 江安县| 阳高县| 新化县| 昂仁县| 财经| 通州区| 习水县| 齐河县| 京山县| 开平市| 沛县| 西盟| 乡城县| 常山县| 贵德县| 西青区| 北安市| 会昌县| 宁津县| 富裕县| 千阳县|