xiaofan1228 发表于 2020-2-28 19:19:08

【第39讲课后练习】栈有长度吗?

因为是纯0000000基础,以为栈和图示一个意思,
先要有几个初始栏位,然后填充内容。
https://xxx.ilovefishc.com/forum/201408/17/231413ce3np00e90bow0fu.jpg

本来也想append和pop,后来考虑栏位问题,没有值的位置用“”代替,
于是代码就变得有点麻(丢)烦(人)了。。。

class Stack:

    def __init__(self):
      self.stack = ["","","","","e"]
      self.length = len(self.stack)

    def now(self):
      for each in self.stack:
            print(each)
      
    def isEmpty(self, default = True):
      while 1:
            for each in self.stack:
                if each:
                  return False
                  break
               
            return True



    def top(self):
      for i in range(self.length):
            if self.stack:
                print("%s" %self.stack)
                break

    def base(self):
      print("%s" %(self.stack if self.stack != "" else "none" ))
   
    def push(self, a):
      self.a = a
      if self.stack:
            print("Enough! No more input!")
      elif self.isEmpty():
            self.stack = self.a
      else:
            for i in range(self.length):
                if self.stack:
                  self.stack = self.a
                  break
               
    def pop(self):
      if self.isEmpty():
            print("Empty! No more pop!")
      for i in range(self.length):         
            if self.stack:
                print(self.stack)
                self.stack = ""
                break

然后我的问题来了, “栈” 是没有定义初始长度的?完全是根据输入来调节的?

ba21 发表于 2020-2-28 19:33:42

一般来说只要你内存有多大你栈就能有多大
页: [1]
查看完整版本: 【第39讲课后练习】栈有长度吗?