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

首頁 > 編程 > Python > 正文

Python單鏈表的簡單實現方法

2020-02-23 05:49:11
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荃湾区| 南京市| 辉县市| 文安县| 卢氏县| 安平县| 通海县| 北辰区| 镇赉县| 崇州市| 米林县| 抚宁县| 临西县| 延安市| 育儿| 梁河县| 凯里市| 永登县| 南江县| 交城县| 合水县| 勃利县| 石屏县| 老河口市| 彰武县| 惠东县| 富宁县| 安宁市| 石阡县| 安西县| 新源县| 景德镇市| 民县| 广州市| 长兴县| 道真| 英山县| 叙永县| 兴仁县| 色达县| 色达县|