標籤:列表功能 false class init 3.0 ati size while struct
#!/usr/bin/env python# -*- coding: utf-8 -*-# learn <<Problem Solving with Algorithms and Data Structures>># Release 3.0# chengang882 @ 2016-12-21# Completed implementation of a Unordered List ADTclass Node(object): def __init__(self, init_data): self.data = init_data self.next = None def get_data(self): return self.data def get_next(self): return self.next def set_data(self, new_data): self.data = new_data def set_next(self, new_next): self.next = new_nextclass UnorderedList(object): def __init__(self): self.head = None def is_empty(self): return self.head == None def add(self, item): temp = Node(item) temp.set_next(self.head) self.head = temp def size(self): current = self.head count = 0 while current != None: count += 1 current = current.get_next() return count def search(self, item): current = self.head found = False while current != None and not found: if current.get_data() == item: found = True else: current = current.get_next() return found def remove(self, item): current = self.head previous = None found = False while not found: if current.get_data() == item: found = True else: previous = current current = current.get_next() if previous == None: self.head = current.get_next() else: previous.set_next(current.get_next()) def show(self): pass if __name__ == "__main__": ul = UnorderedList() print(ul.is_empty()) ul.add(45) ul.add(78) ul.add("adfd") ul.add("4345") ul.add(3) print(ul.is_empty()) print(ul.size()) print(ul.search(45)) print(ul.remove(78)) print(ul)
>>> TrueFalse5TrueNone<__main__.UnorderedList object at 0x0000000002F1C860>>>>
用python實現一個不排序的列表功能