zoukankan      html  css  js  c++  java
  • python3 链表

    code

    class Node:
        def __init__(self, initdata):
            self.data = initdata
            self.next = None
    
        def getData(self):
            return self.data
    
        def getNext(self):
            return self.next
    
        def setData(self, newdata):
            self.data = newdata
    
        def setNext(self, nextNode):
            self.next = nextNode
    
    
    temp = Node(93)
    temp.setData(10)
    print(temp.getData())
    
    # 定义一个无序链表
    class UnorderedList:
        def __init__(self):
            self.head = None
    
        def isEmpty(self):
            return self.head == None
    
        def add(self, item):
            #添加在前面
            temp = Node(item)
            temp.setNext(self.head)
            self.head = temp
    
        def size(self):
            current = self.head
            count = 0
            while current != None:
                count += 1
                current = current.getNext()
            return count
    
        def search(self, item):
            current = self.head
            found = False
            while current != None and not found:
                if current.getData() == item:
                    found = True
                else:
                    current = current.getNext()
            return found
    
        def remove(self, item):
            current = self.head
            previous = None
            found = False
            while not found:
                if current.getData() == item:
                    found = True
                else:
                    previous = current
                    current = current.getNext()
    
            if previous == None:
                #移除第一个元素
                self.head = current.getNext()
            else:
                #移除元素,跳过当前元素
                previous.setNext(current.getNext())
    
        def show(self):
            current = self.head
            while current != None:
                print(current.getData(),end="->")
                current=current.getNext()
            print("
    ")
                
    
    
    
    myList = UnorderedList()
    myList.add(31)
    myList.add(77)
    myList.add(17)
    myList.add(93)
    myList.add(26)
    myList.add(54)
    print(myList.search(17))
    myList.show()
    myList.remove(54)
    print(myList.search(54))
    myList.show()

     outputs

    macname@MacdeMBP ~ % python3 test.py
    10
    True
    54->26->93->17->77->31->
    
    False
    26->93->17->77->31->
    
    macname@MacdeMBP ~ % 

  • 相关阅读:
    数组静态初始化和动态初始化
    一维数组
    标识符啊
    常量定义
    11.08问题总结
    毕设(10.30)
    毕设(10.29)
    毕设(10.28)
    毕设(10.27)
    毕设(10.26)
  • 原文地址:https://www.cnblogs.com/sea-stream/p/13766059.html
Copyright © 2011-2022 走看看