# -*- coding: UTF-8 -*-
class ListStack(object):
def __init__(self, max_size):
self._max_size = max_size
self._stack = [None] * self._max_size
self._top = -1
self._length = 0
def clear(self):
self._stack = [None] * self._max_size
self._top = -1
self._length = 0
def empty(self):
return self._top == -1
def get(self):
if self.empty():
raise Exception("栈为空")
return self._stack[self._top]
def push(self, data):
if self._top == self._max_size - 1:
raise Exception("栈已满")
self._top += 1
self._stack[self._top] = data
self._length += 1
def pop(self):
if self.empty():
raise Exception("栈为空")
data = self._stack[self._top]
self._top -= 1
self._length -= 1
return data
def length(self):
return self._length
if __name__ == '__main__':
stack = ListStack(3)
print(stack.empty())
stack.push(4)
stack.push(4)
stack.push(4)
print(stack.length())
stack.push(4)
print(stack.empty())
print(stack.length())
print(stack.get())
【数据结构连载一栈】【顺序存储栈】python
最新推荐文章于 2024-06-17 17:35:06 发布