队列和栈不是Python的数据结构,但是我们可使用类方法创建一个队列和栈
什么是队列
队列取值的时候总是从左往右取,而放值的时候是从右往左放
先进先出
使用class来创建一个队列
class Queue: def __init__(self): self.daya = [] def Append(self,number): self.daya.append(number) def delete(self): return self.daya.pop(0) Number = Queue() Number.Append(1) Number.Append(2) print(Number.delete()) print(Number.delete())
而栈和队列相反
栈是先进后出的
class Stack:
def __init__(self):
self.daya = []
def Append(self,number):
self.daya.append(number)
def delete(self):
return self.daya.pop(-1)
Number = Stack()
Number.Append(1)
Number.Append(2)
print(Number.delete())
我们发现队列和栈其实是有很多相似之处的,
所以我们可以使用类的继承来同时完成队列和栈的
class common:
def __init__(self):
self.daya = []
def Append(self,number):
self.daya.append(number)
class Stack(common):
def delete(self):
return self.daya.pop()
class Queue(common):
def delete(self):
return self.daya.pop(0)
NUmber = Queue()
NUmber.Append(1)
NUmber.Append(4)
NUmber.Append(5)
print(NUmber.delete())
Number = Stack()
Number.Append(1)
Number.Append(2)
Number.Append(3)
print(Number.delete())