classNode:
def __init__(self, initdata):
self.data=initdata
self.next=None
def getData(self):returnself.data
def getNext(self):returnself.next
def setData(self, newdata):
self.data=newdata
def setNext(self, nextNode):
self.next=nextNode
temp= Node(93)
temp.setData(10)
print(temp.getData())
# 定义一个无序链表classUnorderedList:
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+= 1current=current.getNext()returncount
def search(self, item):
current=self.head
found=Falsewhile current !=None and not found:if current.getData() ==item:
found=Trueelse:
current=current.getNext()returnfound
def remove(self, item):
current=self.head
previous=None
found=Falsewhilenot found:if current.getData() ==item:
found=Trueelse:
previous=current
current=current.getNext()if previous ==None:
#移除第一个元素
self.head=current.getNext()else:
#移除元素,跳过当前元素
previous.setNext(current.getNext())
def show(self):
current=self.headwhile current !=None:
print(current.getData(),end="->")
current=current.getNext()
print("\n")
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()