Python栈和队列用法图解

本文概述

  • 队列
数据结构组织了计算机中的存储, 因此我们可以轻松访问和更改数据。栈和队列是计算机科学中定义的最早的数据结构。一个简单的Python列表也可以充当队列和栈。队列遵循FIFO规则(先进先出), 并在编程中用于排序。通常使用数组或链表来实现栈和队列。
堆 栈是遵循LIFO(后进先出)原理的数据结构。要实现栈, 我们需要两个简单的操作:
  • push-将元素添加到栈顶部。
  • pop-从栈顶部删除一个元素。
Python栈和队列用法图解

文章图片
Python栈和队列用法图解

文章图片
操作方式:
  • 添加-它添加栈中的项目并增加栈大小。添加发生在栈的顶部。
  • 删除-它由两个条件组成, 首先, 如果栈中不存在任何元素, 则在栈中发生下溢;其次, 如果栈中包含一些元素, 则将最上面的元素删除。它减少了栈大小。
  • 遍历-涉及访问栈中的每个元素。
特点:
  • 栈的插入顺序被保留。
  • 对于解析操作很有用。
  • 允许重复。
【Python栈和队列用法图解】代码
# Code to demonstrate Implementation of # stack using list x = ["Python", "C", "Android"] x.push("Java") x.push("C++") print(x) print(x.pop()) print(x) print(x.pop()) print(x)

输出
['Python', 'C', 'Android', 'Java', 'C++'] C++ ['Python', 'C', 'Android', 'Java'] Java ['Python', 'C', 'Android']

队列 队列遵循先进先出(FIFO)原则。它的两端都是敞开的, 因此我们可以轻松地在背面添加元素, 也可以从正面移除元素。
要实现队列, 我们??需要两个简单的操作:
  • 入队-将元素添加到队列的末尾。
  • 出队-从队列的开头删除元素。
Python栈和队列用法图解

文章图片
Python栈和队列用法图解

文章图片
队列中的操作
  • 加法-将元素添加到队列中, 并发生在后端, 即队列的后面。
  • 删除-它包含两个条件-如果队列中不存在任何元素, 则队列中发生下溢, 或者如果栈中包含某些元素, 则位于最前面的元素将被删除。
  • 遍历-涉及访问队列的每个元素。
特点
  • 队列的插入顺序被保留。
  • 允许重复。
  • 对于解析CPU任务操作很有用。
注意:队列的实现有些不同。 “ 先进先出” 之后是队列。时间在这里起着重要的作用。栈之所以快, 是因为我们从列表的末尾插入和弹出元素, 而在队列中, 插入和弹出是从列表的开头开始的, 因此它变得很慢。造成时间差异的原因是列表的属性, 该列表的属性在结束操作中速度很快, 而在开始操作中速度慢, 因为所有其他元素都必须一一移位。 代码
import queue # Queue is created as an object 'L' L = queue.Queue(maxsize=10) # Data is inserted in 'L' at the end using put() L.put(9) L.put(6) L.put(7) L.put(4) # get() takes data from # from the head # of the Queue print(L.get()) print(L.get()) print(L.get()) print(L.get())

输出
9 6 7 4

    推荐阅读