鏈表(未完成)

class SBLinkedList(ValueError):
    pass

class LNode():

    def __init__(self, elem, next_ = None):
        self.elem = elem
        self.next = next_


class LList():

    def __init__(self):
        self.__head = None

    def is_empty(self):
        return self.__head is None

    def prepend(self, elem):
        self.__head = LNode(elem, self.__head)

    def pop(self):
        if self.__head is None:
            raise SBLinkedList
        e = self.__head.elem
        self.__head = self.__head.next
        return e

    def append(self, elem):
        if self.__head is None:
            self.__head = LNode(elem)
            return
        p = self.__head
        while p.next is not None:
            p = p.next
        p.next = LNode(elem)

    def pop_last(self):
        if self.__head is None:
            raise SBLinkedList
        p = self.__head

        if p.next is None:
            e = p.elem
            self.__head = None
            return e

        while p.next.next is None:   # !!!!
            p = p.next

        e = p.next.elem
        p.next = None
        return e

    def find(self, target):
        p  = self.__head
        while p is not None:
            if p.elem == target:
                return p.elem
            p = p.next

    def printall(self):
        p = self.__head
        while p is not None:
            print(p.elem, end='')
            if p.next is not None:
                print(', ', end='')
            p = p.next
        print('')


list1= LList()
for i in range(10):
    list1.prepend(i)
for i in range(11, 20):
    list1.append(i)

list1.printall()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容