2、链表(python实现)

zhuxianfeng 2020-05-02

# -*- coding:utf-8 -*-#@Time : 2020/5/2 0:01#@Author: Aluosen#@File : Linklist.py#节点Nodeclass 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,newnext):        self.next = newnextclass UnorderedList:    def __init__(self):        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 = 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):        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.getNext(current.getNext())class OrderLise:    def __init__(self):        self.head = None    def search(self,item):        current = self.head        found = False        stop = False        while current != None and not found and not stop:            if current.getData() == item:                found = True            else:                current = current.getNext()        return found    def add(self,item):        current = self.head        previous = None        stop = False        while current != None and not stop:            if current.getData() > item:                stop = True            else:                previous = current                current = current.getNext()            temp = Node(item)            if previous == None:                temp.setNext(self.head)                self.head = temp            else:                temp.setNext(current)                previous.setNext(temp)

2、链表(python实现)

 

相关推荐