会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132486个问题
Python 全系列/第一阶段:Python入门/编程基本概念 22051楼
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 22053楼
Python 全系列/第一阶段:Python入门/编程基本概念 22054楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 22055楼
Python 全系列/第一阶段:Python入门/Python入门(动画版) 22056楼

class LinkNode:

    def __init__(self,val:int) :

        self.val:int=val

        self.pre=None

        self.next=None

   

class Double_Queue_Linklist:

    def __init__(self) :

        self.head=LinkNode(0)

        self.tail=LinkNode(0)

        self.head.next=self.tail

        self.tail.pre=self.head

        self.size=0

       

    def push_first(self,val:int)->None:

        #从队首入队

        add_Node=LinkNode(val)

        add_Node.pre=self.head

        add_Node.next=self.head.next

        self.head.next=add_Node

        self.head.next.pre=add_Node

        self.size+=1

       

    def push_last(self,val:int)->None:

        #队尾入队

        add_Node=LinkNode(val)

        add_Node.pre=self.tail.pre

        add_Node.next=self.tail

        self.tail.pre.next=add_Node

        self.tail.pre=add_Node

        self.size+=1

       

    def length_Queue(self)->int:

        #队列长度

        return self.size

   

    def IsNull(self)->bool:

        #判断队列是否为空

        return self.size==0

   

    def pop_first(self)->int:

        #删除队首元素

        a=self.head.next

        self.head.next=a.next

        a.next.pre=self.head

        a.next=None

        a.pre=None

        self.size-=1

        return a.val

   

    def pop_last(self)->int:

        #删除队尾元素

        a=self.tail.pre

        a.pre.next=self.tail

        self.tail.pre=a.pre

        a.pre=None

        a.next=None

        self.size-=1

        return a.val

   

    def to_list(self):

        #队列转化为列表

        traver_head=self.head

        list1=[]

        for i in range(self.size):

            traver_head=traver_head.next

            list1.append(traver_head.val)

        return list1

   

    def top(self):

        #访问队首元素

        if self.size==0:

            raise Exception("队列为空")

        return self.head.next.val

   

if __name__=='__main__':

    a=Double_Queue_Linklist()

    a.push_first(1)

    a.push_first(2)

    a.push_last(3)

    a.push_first(5)

    print(a.to_list())

    a.pop_first()

    # print(a.to_list())

    print(a.length_Queue())

    print(a.top())

 为什么他的val会显示没有属性,应该怎么改让to_list方法运行


Python 全系列/第十六阶段:数据结构与算法/数据结构与算法 22057楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 22059楼
Python 全系列/第二阶段:Python 深入与提高/异常机制 22061楼
JAVA 全系列/第六阶段:项目管理与SSM框架/Lombok 22063楼
Python 全系列/第二十阶段:数据分析-统计分析/参数估计 22064楼
JAVA 全系列/第十九阶段:Spring Cloud微服务技术栈/Spring Cloud(旧) 22065楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637