Python实现栈、队列、双端队列
2023-03-20 14:49:40 时间
栈的实现
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[len(self.items)-1] def isEmpty(self): return len(self.items) == 0 def size(self): return len(self.items) stack=Stack() stack.push(1) stack.push(2) stack.push(3) print(stack.peek()) print(stack.pop()) print(stack.pop()) print(stack.pop())
队列的实现
#coding:utf8 class Queue(): def __init__(self): self.items = [] def enqueue(self, item): self.items.insert(0, item) def dequeue(self): return self.items.pop() def isEmpty(self): return len(self.items) == 0 def size(self): return len(self.items) # queue = Queue() # queue.enqueue(1) # queue.enqueue(2) # queue.enqueue(3) # print(queue.size()) # print(queue.dequeue()) # print(queue.dequeue()) # print(queue.dequeue())
队列算法之烫手的山芋
kids = ["A", "B", "C", "D", "E", "F"] # 参加游戏的孩子 queue = Queue() for kid in kids: queue.enqueue(kid) while queue.size() > 1: for i in range(6): queue.enqueue(queue.dequeue()) queue.dequeue() print(queue.dequeue())
双端队列的实现
# coding:utf8 # 队列 :尾部--->首部 class Deque(): def __init__(self): self.items = [] def addFront(self, item): self.items.append(item) def addRear(self, item): return self.items.insert(0, item) def removeFront(self): return self.items.pop() def removeRear(self): return self.items.pop(0) def isEmpty(self): return len(self.items) == 0 def size(self): return len(self.items)
双端队列算法之回文检测
# 实现回文检查 def isHuiWen(_str): flag = True deque = Deque() for i in _str: deque.addFront(i) while deque.size() > 1: if deque.removeFront() != deque.removeRear(): flag = False break return flag print(isHuiWen("hooh")) print(isHuiWen("hoioh")) print(isHuiWen("hoijoh"))
相关文章
- 这些技术可能会阻碍你在大数据征程上的步伐
- 五个创建交互式图表的Python库
- 用Python侦测比特币交易的网络可视化分析
- Python内存问题:提示和技巧
- Python+大数据计算平台,PyODPS架构手把手教你搭建
- 大数据统一的批处理和流处理标准 Apache Beam
- 最好的Python机器学习库
- 一图简述大数据技术生态圈
- Python VS R语言?数据分析与挖掘该选哪一个?
- 大数据除了Hadoop,还有Scrapy
- 总结:常用的 Python 爬虫技巧
- 几分钟快速入门Python
- 用Python端对端数据分析识别机器人“僵尸粉”
- 用Python挖掘Twitter数据:数据采集
- 5招教你用Python构建好玩的深度学习应用
- Python树莓派编程2.7 总结
- Python树莓派编程第3章
- Python树莓派编程3.4.3 函数
- 机器人系统设计与制作:Python语言实现导读
- R、Python、Scala 和 Java,到底该使用哪一种大数据编程语言?