本文将介绍Python中栈和队列的基本概念、实现方法及其应用场景。
栈是一种后进先出(Last In First Out,LIFO)的数据结构,类似于弹夹。Python中可以使用列表(list)来实现栈。
push()
:将元素压入栈内。pop()
:将栈顶的元素弹出。peek()
:返回栈顶的元素,但不弹出。is_empty()
:判断栈是否为空。size()
:返回栈内元素的个数。class Stack: def __init__(self): self.items = [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[-1] def is_empty(self): return self.items == [] def size(self): return len(self.items)
栈常用于表达式求值、括号匹配等场景。
队列是一种先进先出(First In First Out,FIFO)的数据结构,类似于排队。Python中可以使用列表(list)来实现队列。
enqueue()
:将元素加入队列尾部。dequeue()
:将队列头部的元素弹出。is_empty()
:判断队列是否为空。size()
:返回队列内元素的个数。class Queue: def __init__(self): self.items = [] def enqueue(self, item): self.items.insert(0, item) def dequeue(self): return self.items.pop() def is_empty(self): return self.items == [] def size(self): return len(self.items)
队列常用于广度优先搜索、操作系统中的进程调度等场景。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com