#-*-coding=utf-8 -*- #列表实现栈 class Pystack(): #类属性 name = 'leishuxing' def __init__(self, size): #实例属性 #Pystack.stack = [] #Pystack.size = sive #Pystack.top = -1 此方法可以定义实例属性但不可没有实例化类前调用 self.stack = [] self.size = size self.top = -1 def setsive(self, size): self.size = size def push(self,value): if self.isfull(): raise stackexpection('stackisfull') else: self.stack.append(value) self.top += 1 def pop(self): if self.isempty(): raise stackexpection('stackisempty') else: ele = self.stack.pop() self.top -= 1 return ele def Top(self): return self.top def empty(self): self.stack = [] self.top = -1 def isfull(self): if self.top == self.size - 1: return True else: return False def isempty(self): if self.top == -1: return True else: return False #继承Exception来自定义异常类 class stackexpection(Exception): def __init__(self,data): self.data = data def __str__(self): return self.data #自定义队列 class pyqueue(): def __init__(self, size): self.queue = [] self.size = size self.end = -1 def Size(self): return self.size def In(self, value): if self.end == self.size - 1: raise queueexception('isfull') else: self.queue.append(value) self.end += 1 def Out(self): if self.end == -1: raise queueexception('isempty') else: ele = self.queue[0] self.queue = self.queue[1:] self.end -= 1 return ele def End(self): return self.end class queueexception(Exception): def __init__(self, data): self.data = data def __str__(self): return self.data
python实现栈和队列
最新推荐文章于 2025-03-27 16:02:22 发布