class Node:
def __init__(self,key,prev=None,next=None):
self.key=key
self.prev=prev
self.next=next
class List:
def __init__(self):
self.nil=Node('error')
self.nil.prev=self.nil.next=self.nil
def search(self,k):
x=self.nil.next
while x!=self.nil and x.key!=k:
x=x.next
return x
def insert(self,x):
x.next=self.nil.next
self.nil.next.prev=x
self.nil.next=x
x.prev=self.nil
def delete(self,x):
x.prev.next=x.next
x.next.prev=x.prev
def delete_head(self):
head=self.nil.next
self.delete(head)
def __repr__(self):
strs=''
x=self.nil.next
while(x!=self.nil):
strs+=(str(x.key)+' ')
x=x.next
return strs
@property
def empty(self):
return self.nil.next==self.nil
l=List()
for i in range(1,10):
l.insert(Node(i))
print(l)
while(l.empty==False):
print(l)
l.delete_head()
chap10-DLinkList
最新推荐文章于 2014-07-21 10:38:24 发布