微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python中单链表中的is_empty和is_empty()有什么区别?

如何解决python中单链表中的is_empty和is_empty()有什么区别?

我在python中创建了单链表,我想知道def delete_front(self)中'()'的主要功能是什么。

这是我的代码

class Node(object):
    def __init__(self,data):
        self.data = data
        self.next = None

class SLinkedList(object):
    def __init__(self):
        self.head = None
        self.size = 0
    
    def size(self):
        return self.size

    def is_empty(self):
        if self.size==0:
            return True
        else:
            return False

    def search(self,target):
        return 

    def insert_front(self,data):
        nw_node = Node(data)
        if self.is_empty():
            self.head = nw_node
        else:
            nw_node.next = self.head.next
            self.head.next = nw_node
    #p is pointer
    def insert_after(self,data,p):
        nw_node = Node(data)
        if p==self.size:
            p.next = nw_node
        else:
            nw_node.next = p.next
            p.next = nw_node

    def delete_front(self):
        if is_empty():
            return None
        else:
            tmp_node =self.head.next
            tmp_node.prev = self.head
            self.head.next = tmp_node.next

    def delete_after(self,p):
        if p==self.size:
            return None
        else:
            tmp_node = p.next
            p.next = tmp_node.next

    def print_list(self):
        node = self.head
        while node:
            print(node)
            node = node.next

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。