最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python单链表的简单实现方法

来源:动视网 责编:小采 时间:2020-11-27 14:31:03
文档

Python单链表的简单实现方法

Python单链表的简单实现方法:本文实例讲述了Python单链表的简单实现方法,分享给大家供大家参考。具体方法如下: 通常来说,要定义一个单链表,首先定义链表元素:Element.它包含3个字段: list:标识自己属于哪一个list datum:改元素的value next:下一个节点的位置 具体实现代码如下:
推荐度:
导读Python单链表的简单实现方法:本文实例讲述了Python单链表的简单实现方法,分享给大家供大家参考。具体方法如下: 通常来说,要定义一个单链表,首先定义链表元素:Element.它包含3个字段: list:标识自己属于哪一个list datum:改元素的value next:下一个节点的位置 具体实现代码如下:


本文实例讲述了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 = None

test = LinkedList()
test.prepend('test0')
print test.insert(1, 'test')
print test.head.datum
print test.head.next.datum

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

文档

Python单链表的简单实现方法

Python单链表的简单实现方法:本文实例讲述了Python单链表的简单实现方法,分享给大家供大家参考。具体方法如下: 通常来说,要定义一个单链表,首先定义链表元素:Element.它包含3个字段: list:标识自己属于哪一个list datum:改元素的value next:下一个节点的位置 具体实现代码如下:
推荐度:
标签: 方法 简单 方式
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top