python单链表实现具体例子_Python单链表实现

classNode():def __init__(self,InitDate):

self.Date=InitDate

self.next=NonedefsetNext(self,newnext):

self.next=newnextdefsetDate(self,newDate):

self.Date=newDatedefgetNext(self):returnself.nextdefgetDate(self):returnself.DateclassLinkedList():def __init__(self):

self.head=NonedefisEmpty(self):return self.head==Nonedefadd(self,item):

temp=Node(item)

temp.setNext(self.head)

self.head=tempdefsize(self):

current=self.head

count=0while(current!=None):

count+=1current=current.getNext()returncountdefshow(self):

current=self.headwhile(current!=None):printcurrent.getDate(),

current=current.getNext()print " "

defsearch(self,item):

current=self.head

found=Falsewhile not found and (current !=None):if current.getDate()==item:

found=Trueelse:

current=current.getNext()printfounddefremove(self,item):

previous=None

current=self.head

found=Falsewhile not found and (current !=None):if current.getDate()==item:

found=Trueelse:

previous=current

current=current.getNext()if found==False:print "not {0}".format(item)elif current==self.head:

self.head=current.getNext()else:

previous.setNext(current.getNext())definsert(self,index,item):

previous=None

current=self.head

count=0

temp=Node(item)if index>self.size():print "out index"

elif index==0:

temp.setNext(current)

self.head=tempelse:whileindex:

index-=1previous=current

current=current.getNext()

previous.setNext(temp)

temp.setNext(current)if __name__=="__main__":

alist=LinkedList()for i in range(10):

alist.add(i)

alist.show()printalist.size()

alist.remove(5)

alist.show()

alist.insert(7,110)

alist.show()

alist.search(110)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值