本文将介绍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
