【第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
然后我的问题来了, “栈” 是没有定义初始长度的?完全是根据输入来调节的? 一般来说只要你内存有多大你栈就能有多大
页:
[1]