1. 栈(stack)

栈(stack)

  • 定义
    • 栈是一种容器,可存入元素、访问元素、删除元素,它的特点在于只能允许在容器的一端进行加入和输出数据的运算。没有了位置的概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素。由于栈数据结构只允许在一端进行操作,因此按照后进先出的原理运作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class Node():
"""节点"""
def __init__(self, item=None, next=None):
self.item = item
self.next = next

class Stack():
"""栈"""
def __init__(self, node=None):
self.head = node

def push(self, item):
"""栈顶插入元素"""
self.head = None(item, self.head)

def pop(self):
"""弹出栈顶元素"""
if self.head:
self.head=self.head.next
return
return "栈为空栈"

def peek(self):
"""返回栈顶元素"""
if self.head:
return self.head.item
return "栈为空栈"

def is_empty(self):
"""判断是否为空栈"""
return self.head==None

def size(self):
"""返回元素个数"""
num = 0
node = self.head
if node==None:
return num
num += 1
while node.next!=None:
node = node.next
num += 1
return num

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zoubinbf@163.com

×

喜欢就点赞,疼爱就打赏