数据结构之python实现双链表实例

题目如下:在这里插入图片描述

python实现:

class DLNode:
    def __init__(self,data):
        self.data = data
        self.next = None
        self.prev = None
class DLL:
    def __init__(self):
        self.head = DLNode(None)
    def CreateDLL(self):
        DataList = [1,2,3,4,5,6,7,8,9,10]
        cNode = self.head
        for i in range(1,11):
            element = DLNode(i)
            cNode.next = element
            element.prev = cNode
            cNode = cNode.next
    def PageTurning(self):
        cNode = self.head.next
        print("当前所在页码为:",cNode.data,"不要向前翻啦!")
        order = input("请输入操作(其中N代表向后翻页,P代表向前翻页,Q代表退出程序):")
        while(order!= 'Q'):
            if order== 'N':
                if cNode.next == None:
                    print("已经是最后一页啦!")
                else :
                    cNode = cNode.next
                    print("当前所在页码为:",cNode.data)
            elif order== 'P':
                if cNode.prev == self.head:
                    print("亲,回不去了!")
                else :
                    cNode = cNode.prev
                    print("当前所在页码为:",cNode.data)
            else:
                print("输入是错的哦,请再来一次!")
            order = input("请输入操作(其中N代表向后翻页,P代表向前翻页,Q代表退出程序):")            
D2L = DLL()
D2L.CreateDLL()
D2L.PageTurning()

结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40283816/article/details/87737136