队列是列表的一种 其特点是先进先出 以下是python 实现的代码:
-
class Queue(object):
def init(self):
self.items = []
#队列(只能在队尾)添加一个元素
def enqueue(self, item):
self.lst.append(item)
#删除队列(只能在对头)一个元素
def dequeue(self):
self.lst.pop(0)
#判断队列是否为空
def isEmpty(self):
return(self.lst == [])
#清除队列
def clear(self):
del(self.lst) #该队列就不存在了,而不是清空元素
#返回队列项的数量
def size(self):
return(len(self.lst))
#遍历队列
def travel(self):
if self.lst!=[]:
for i in self.lst:
print(i)
else:
print(" ")
if name == ‘main’:
q = Queue()
print(q.isEmpty())
for i in range(5):
q.enqueue(i)
print(q.size())
q.print()
q.dequeue()
q.print()
q.clear()
print(q)
栈是一种后进先出的列表
class Stack(): def __init__(self): self.lst=[] #是否为空 def is_empty(self): return self.lst==[] #弹出栈顶元素 def pop(self): return self.lst.pop() #个数 def size(self): return len(self.lst) #返回栈顶元素 def peek(self): if not self.is_empty(): return self.lst[-1] else: return #添加新元素到栈顶 def push(self,item): self.lst.append(item) def travel(self): if self.lst != []: for i in self.lst: print(i) else: print(" ") a=Stack() a.push('a') a.push('a1') print(a.size()) a.push('a2') a.push('a3') print(a.peek()) print(a.travel()) print(a.pop()) print() print(a.travel())