预备

作者: 何大炮 | 来源:发表于2018-02-26 15:23 被阅读0次

这是一个完整结构的linked list

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

    def __repr__(self):
        return str(self.data)

class linked_list:
    def __init__(self, length, head):
        self.length = length
        self.head = head

    def isEmpty(self):
        if not self.length:
            return True

    def append(self, data):
        # a judgement on the type of this data
        if not isinstance(data, Node): # build-in function
            item = Node(data)
        else:
            item = data
        node = self.head

        # a judgement on the head of the linked list
        if not node:
            self.head = item

        else:
            while node.next:
                node = node.next
            node.next = item
            print(item.data)
        self.length +=1

    def delete(self,index):
        # in case that linked list is empty or index is larger than the length of the linked list
        if self.isEmpty() or index > self.length:
            return None

        else:
            # in case the length of linked_list is 1
            if self.length == 1:
                self.head = None
                self.length = 0

            else:
                index -= 2
                last = self.head
                next_node = last.next.next
                while index:
                    last = last.next
                    next_node = next_node.next
                    index -= 1

                print(last.next.data)
                last.next = next_node

                self.length -= 1


    def insert(self,data, index):
        if index > self.length + 1 :
            return None
        else:
            # a judgement on the type of this data
            if not isinstance(data, Node):  # build-in function
                item = Node(data)
            else:
                item = data

            if index == self.length + 1:
                self.append(item)
            else:
                last = self.head
                index -= 2
                while index:
                    index -= 1
                    last = last.next
                item.next = last.next
                last.next = item
            self.length += 1
        
    def clear(self):
        self.length = 0
        self.head = None

相关文章

  • 预备

    不知道该不该在学龄前教拼音,犹豫着还是教了。 断续教了大半年,不是很熟,连蒙带猜琢磨半天能念出来,就这水平。 一年...

  • 预备

    影子向前走越来越长 水泥地上每一段都有一个裂缝 车辆迎面而来,带着橘黄的光照亮右手边的短墙 鲜红的心脏有节奏的跳动...

  • 预备

    欢呼者准备好手掌 跳跃者扒紧土地 但凡未死之人 就请蓄势待发

  • 《预备》

    诗瘦与诗寿 《预备》 /(永胜出品) 罗马歌腓帖,加多德太音。 犹提拿撒路,彼约大门箴。 2018年05月13日

  • 预备

    主啊你预备的在哪里啊 那个是不是啊 诶,我不知道那个感动是不是从你来的 又不能真的放下依靠你 我知道如果是你的旨意...

  • 预备

    这是一个完整结构的linked list

  • 预备

    @RestController和@RequestMappingspecificRole and resulting...

  • 预备,

    刚打开简书,看到有位仁兄做的关于连续365天写作的社群的一个推广。那个主题还只允许他们自己人投稿。看了下人员还真是...

  • 预备

  • 预备

    还没有搞明白,想先试试看。 ## 我需要一个可以安静写写自己想法的地方。

网友评论

      本文标题:预备

      本文链接:https://www.haomeiwen.com/subject/lxeyxftx.html