700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 数据结构之双向链表----Python

数据结构之双向链表----Python

时间:2020-09-17 12:39:07

相关推荐

数据结构之双向链表----Python

双向链表

双向链表是指节点有三部分,数据、前向指针和后向指针。简单的图示可以参考看图轻松理解数据结构与算法系列(双向链表)

废话不多,直接上代码吧。

#定义一个节点类class Node(object):def __init__(self, dataval):self.dataval = datavalself.left_nextval = Noneself.right_nextval = None#定义双向链表class Cir:def __init__(self):self.headval = Nonedef two_way_append(self,newdata):#将数据转化为NodeNewnode = Node(newdata)#判断是否为第一个节点if self.headval is None:self.headval = Newnodeelse:laste = self.headval# laste_pre = Nonewhile laste.right_nextval:laste_next = laste.right_nextval# laste = laste.right_nextval# laste_next.left_nextval = lastelaste = laste_nextlaste.right_nextval = NewnodeNewnode.left_nextval = laste# Newnode.nextval = self.headvaldef show_left(self):printval = self.headvalwhile printval:# printval = printval.right_nextvalif printval.right_nextval == None:print(printval.dataval)break# printval = printval.right_nextvalelse:printval = printval.right_nextvalprint(str(printval.left_nextval.dataval))# print_left = printval.left_nextval# print(str(print_left.dataval))def show_right(self):printval = self.headvalwhile printval:print(printval.dataval)printval = printval.right_nextvalli = Cir()li.two_way_append('Mon')li.two_way_append('Tue')li.two_way_append('Wed')li.two_way_append('Thu')show = li.show_left()show_right = li.show_right()# print(show)##结果MonTueWedThu[Finished in 0.2s]复制代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。