|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class Stack:
def __init__(self,X=[]):
self.stack = []
for x in X:
self.push(x)
def isEmpty(self):
return not self.stack
def push(self,obj):
self.stack.append(obj)
def pop(self):
if not self.stack:
print('栈为空!')
else:
self.stack.pop()
def top(self):
if not self.stack:
print('栈为空!')
else:
print(self.stack[-1])
def bottom(self):
if not self.stack:
print('栈为空!')
else:
print(self.stack[0])
提问:以上代码中,标红的两行有什么用,我把它删除了也是一样运行的啊~~
能运行,不代表代码能正常工作。首先你要搞懂代码是干嘛用的。
这段代码明显就是栈的应用,就是让你对栈有更深的了解。
for x in X:
self.push(x) #函数用来初始化栈 没有这段代码你的栈就是空的
有:
>>> s = '123456'
>>> b = Stack(s)
>>> b.bottom()
1
>>> b.top()
6
没有:
>>> s = '123456'
>>> b = Stack(s)
>>> b.bottom()
栈为空!
>>> b.top()
栈为空!
|
|