1.python里的栈是通过列表来实现的(python里只有list和tuple两种数据结构)python模拟栈:
class stack(object): def __init__(self): self.items = [] #判断栈是否为空 def isEmpty(self): return len(self.items) == 0 #进栈 def push(self, item): return self.items.append(item) #出栈 def pop(self): return self.items.pop() #栈的深度 def length(self): return len(self.items) #返回栈顶元素 def peek(self): return self.items[len(self.items)-1]
2.python模拟队列
class Queue(object): #初始化队列 def __init__(self): self.items = [] #判断队列是否空 def isEmpty(self): return len(self.items) == 0 #进队列 def push(self, item): return self.items.append(item) #出队列 def get(self): return self.items.pop(0) #返回队列列头 def peek(self): if len(self.items) >= 0: return self.items[0] else: return 'Queue is empty' #队列长度 def length(self): return len(self.items)
3.两个栈实现队列
class stack(object): def __init__(self): self.stack1 = [] self.stack2 = [] def isEmpy(self): return len(self.stack2) == 0 #每次进栈都往1中添加 def push(self, item): return self.stack1.append(item) #每次出栈先把1中加到2中,从2中出 def pop(self): if len(self.stack1) >= 1: self.stack2.append(self.stack1.pop()) return self.stack2.pop() else: return 'stack is empty' def length(self): return len(self.stack1) + len(self.stack2)4.python实现链表以及链表的相关操作。这两篇博客写的非常好!
Ⅰ.点击打开链接
Ⅱ.点击打开链接