python中利用list实现stack


class mystack():
  def  __init__(self):
    self.maxsize=5000
    self.max=-1
    self.l1=[]
  def  setmaxsize(self,s):
    if isinstance(s,int)==False:
      print('your input is not a number!')
    elif s<self.maxsize:
      print('Do not support shrink!')
    else:
      self.maxsize=s
  def push(self,a):
    if self.max<self.maxsize-1:
      self.l1.append(a)
      self.max += 1
    else:
      print('The stack is full!')  
  def  pop(self):
    if self.max>-1:
      res=self.l1.pop(-1)
      self.max -= 1
      return res
    else:
      print('The stack is empty!')
  def count(self):
    return self.max+1
  def getmaxsize(self):
    return self.maxsize


说明:
类mystack包含一下method:
setmaxsize(s):设置stack的最大容量,要求输入整数,stack只能扩大,不能缩小
getmaxsize():获得stack的最大容量
count():获得stack当前所含元素数量
push(a):将元素推入stack
pop:从stack中获取一个元素

猜你喜欢

转载自blog.csdn.net/weixin_44311188/article/details/85628713