建立顺序栈,并在顺序栈上实现入栈和出栈操作,编程实现如下功能: 1.根据输入的栈中元素个数n和各元素值建立一个顺序栈,并输出栈中各元素值。 2.将数据元素e入栈,并输出入栈后的顺序栈中各元素值。 3.将顺序栈中的栈顶元素出栈,并输出出栈元素的值和出栈后顺序栈中各元素值。
时间: 2024-02-03 17:13:12 浏览: 24
下面是用Python实现顺序栈的代码:
```python
class SeqStack:
def __init__(self, maxsize):
self.maxsize = maxsize
self.stack = [None] * self.maxsize
self.top = -1
def is_empty(self):
return self.top == -1
def is_full(self):
return self.top == self.maxsize - 1
def push(self, data):
if self.is_full():
print("Stack is full!")
return
self.top += 1
self.stack[self.top] = data
def pop(self):
if self.is_empty():
print("Stack is empty!")
return
data = self.stack[self.top]
self.top -= 1
return data
def print_stack(self):
print("Stack:", end=" ")
for i in range(self.top + 1):
print(self.stack[i], end=" ")
print()
if __name__ == '__main__':
n = int(input("Enter the number of elements: "))
s = SeqStack(n)
for i in range(n):
data = int(input("Enter the element to push: "))
s.push(data)
s.print_stack()
data = int(input("Enter the element to push: "))
s.push(data)
s.print_stack()
data = s.pop()
print("Pop element:", data)
s.print_stack()
```
这段代码中,我们定义了一个`SeqStack`类,包含了初始化、判断栈是否为空、判断栈是否满、入栈、出栈和打印栈中元素等方法。在主函数中,我们先输入栈的元素个数n,然后利用for循环输入n个元素,并将它们依次入栈,最后打印整个栈。接着,我们再输入一个元素,并将它入栈,并打印整个栈。最后,我们将栈顶元素出栈,并打印出栈的元素和整个栈。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![dev](https://img-home.csdnimg.cn/images/20210720083646.png)