编程实现顺序栈SequencedStack 类。写出实现初始化、返回栈中元素个数、入栈、出栈等操 作的类方法,这些方法具有下列签名:
时间: 2023-08-08 12:14:06 浏览: 70
栈的顺序实现,入栈、出栈等
以下是顺序栈SequencedStack类的实现,包括初始化、返回栈中元素个数、入栈、出栈等操作的类方法。
```python
class SequencedStack:
def __init__(self, size):
self.size = size # 栈的大小
self.stack = [None] * size # 初始化栈
self.top = -1 # 栈顶指针
def is_empty(self):
return self.top == -1 # 判断栈是否为空
def is_full(self):
return self.top == self.size - 1 # 判断栈是否已满
def push(self, item):
if self.is_full():
raise Exception('Stack is full')
else:
self.top += 1
self.stack[self.top] = item # 入栈操作
def pop(self):
if self.is_empty():
raise Exception('Stack is empty')
else:
item = self.stack[self.top]
self.top -= 1 # 出栈操作
return item
def peek(self):
if self.is_empty():
raise Exception('Stack is empty')
else:
return self.stack[self.top] # 返回栈顶元素
def size(self):
return self.top + 1 # 返回栈中元素个数
```
其中,size表示栈的大小,stack表示栈,top表示栈顶指针,is_empty()方法用于判断栈是否为空,is_full()方法用于判断栈是否已满,push()方法用于入栈操作,pop()方法用于出栈操作,peek()方法用于返回栈顶元素,size()方法用于返回栈中元素个数。
阅读全文