最近学习了python数据结构,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用
文章目录 一 基础知识 二 循环队列 三 Python实现 四 双向队列 五 总结 一 基础知识 定义 队列是一个数据集合,仅允许在队列的一端进行插入,另一端进行删除队尾:进行插入的一端(rear),插入动作称为入队 缺点 每个空间域只能利用一次。造成空间极度浪费。并且非常容易越界!
针对上述的问题。有个较好的解决方法!就是对已经申请的(数组)内存重复利用。这就是我们所说的循环队列。
循环队列:当队首或队尾的指针位置 p == Maxsize - 1 时,再前进一个位置就自动到0
队首指针前进1:front = (front + 1) % Maxsize
队尾指针前进1:rear = (rear + 1) % Maxsize
队空条件:rear == front
队满条件:(rear + 1) % Maxsize == front
三 Python实现class Queue: def __init__(self,size=100): self.queue = [0 123'