数据结构顺序栈与链式栈基本操作代码
时间: 2024-03-24 17:33:07 浏览: 84
c语言 栈的顺序和链式实现代码ppt
顺序栈和链式栈都是栈的基本实现方式,它们都有入栈(push)和出栈(pop)这两个基本操作。
1. 顺序栈的基本操作代码:
```python
class SeqStack:
def __init__(self):
self.stack = []
def push(self, item):
self.stack.append(item)
def pop(self):
if len(self.stack) < 1:
return None
return self.stack.pop()
def size(self):
return len(self.stack)
```
在这个代码中,我们定义了一个顺序栈类SeqStack,它有一个列表stack作为存储结构。push方法用于将元素添加到栈顶,pop方法用于移除并返回栈顶元素,size方法用于返回栈的大小。
2. 链式栈的基本操作代码:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedStack:
def __init__(self):
self.head = Node()
def push(self, data):
new_node = Node(data)
new_node.next = self.head.next
self.head.next = new_node
def pop(self):
if self.head.next is None:
return None
else:
popped_node = self.head.next
self.head.next = self.head.next.next
return popped_node.data
def size(self):
count = 0
temp = self.head.next
while temp:
count += 1
temp = temp.next
return count
```
在这个代码中,我们首先定义了一个Node类,每个Node对象都有一个data属性和一个next属性。然后我们定义了一个LinkedStack类,它有一个头节点head。push方法用于在链表的头部添加新节点,pop方法用于移除并返回链表头部的节点,size方法用于返回链表的长度。
阅读全文