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 ~ % 

  • 相关阅读:
    关于基于.net的WEB程序开发所需要的一些技术归纳
    技术的学习方法探索之一
    生活,就是让程序为人们服务!
    js滑动提示效果
    radio判断是否为空
    JS清除网页历史记录,屏蔽后退按钮
    多表查询存储过程
    IP地址转化为数字,charindex ,SUBSTRING
    c# byte转化为string
    获得IP地址中文
  • 原文地址:https://www.cnblogs.com/sea-stream/p/13766059.html
Copyright © 2011-2022 走看看