首页 > 编程语言 >数据结构与算法-队列

数据结构与算法-队列

时间:2023-06-07 18:55:04浏览次数:42  
标签:__ .__ return 队列 self list 算法 数据结构 def

队列

FIFO 先进先出

队列的实现

class Queue(object):
    def __init__(self):
        self.__list = []

    def enqueue(self, item):
        self.__list.append(item)

    def dequeue(self):
        return self.__list.pop(0)

    def is_empty():
        return self.__list == []

    def size():
        return len(self.__list)

if __name__ == '__main__':
    q = Queue()
    q.enqueue(1)

双端队列的实现

class Dqueue(object):
    def __init__(self):
        self.__list = []

    def add_front(self, item):
        self.__list.insert(0, item)

    def add_rear(item):
        self.__list.append(item)

    def pop_front(self):
        return self.__list.pop(0)

    def pop_rear(self):
        return self.__list.pop()

    def is_empty():
        return self.__list == []

    def size():
        return len(self.__list)

if __name__ == '__main__':
    d = Dqueue()

标签:__,.__,return,队列,self,list,算法,数据结构,def
From: https://www.cnblogs.com/superhin/p/17464291.html

相关文章

  • C++哈希算法(一)
    哈希设计思想:试想如果我们对一个数组进行查询,这个数组里,每一个元素都是一个字符串。我们知道数组最快的检索办法是通过数组的下标进行检索,但是对于这种场景,我们无能为力,只能从头查到尾,从而查询出目标元素。如果我们要根据名字找到其中的任何一个元素,就需要遍历整个数组。最坏情......
  • 【锐格】数据结构-实验-二叉树
    7075#include<iostream>#include<cstdio>usingnamespacestd;typedefstructTNode{chardata;structTNode*lchild,*rchild;}BiNode,*BiTree;BiTreeT;voidcreateTree(BiTree&T){charch;cin>>ch;if(ch==&#......
  • 【锐格】数据结构-实验-图
    7039#include<iostream>#include<cstdio>usingnamespacestd;constintMAX_NUM=100;intw;intmark[MAX_NUM];typedefintEdgeData;typedefstructNode{intdest;EdgeDataweight;//边权structNode*next;//nextroute}EdgeNode;......
  • 【NEFU】数据结构阶段二机试代码
    个人拙见,难免有不足之处,望大佬们斧正P1#defineMAXNODE64#include<stdio.h>#include<stdlib.h>typedefstructNode//边的信息{intadjvex;structNode*next;}ArcNode;typedefstructVNode//顶点的信息{intdata;ArcNode*firstarc;}Ve......
  • 【数据结构】图的基本操作
    #include<iostream>#include<cstdio>#include<stack>#include<queue>#include<cstring>constintMAX_SUM=110;usingnamespacestd;typedefstructArcNode{intadj;structArcNode*nextarc;}ArcNode;typedefstruct......
  • FIT9136 算法编程基础
    FIT9136AlgorithmsandProgrammingFoundationsinPythonAssignment3May20231TableofContents1.KeyInformation2.Instruction2.1.UserClass2.2.CustomerClass2.3.AdminClass2.4.ProductClass2.5.OrderClass2.6.UserOperationClass2.7.CustomerOperation......
  • 代码随想录算法训练营第十四天|理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代
    理论基础满二叉树概念完全二叉树概念二叉搜索树概念平衡二叉搜索树概念二叉树存储方式:链式存储和顺序存储二叉树遍历方式:前中后序遍历,层次遍历。二叉树的代码定义publicclassTreeNode{intval;TreeNodeleft;TreeNoderight;TreeNode(){}TreeNode(intval){this.v......
  • 队列
    1、定义:先进先出的线性表,就像排队,它只允许在队列一端插入元素,在另一端删除元素(插入一端队尾,删除一端队头)2、典型例子:作业排队3、基本功能1、宏定义结构体定义#include<stdio.h>#include<stdlib.h>#defineERROR0;#defineOK1;typedefstructNode{intdata......
  • stm32 adc采样滤波算法
     1、简单移动平均滤波算法(SMA):采样数据作为滤波器的输入,输出为移动平均值,即取最近一段采样值的平均值作为输出。简单移动平均滤波算法实现简单,计算速度快,但只适用于信号变化缓慢的场合。//简单移动平均滤波算法#defineN10//采样点数floatFilter_Arr[N];//保存过去N个......
  • 一文理清排序算法中的直接插入、快排和希尔排序的区别
    前言在上一篇文章中,给大家介绍了冒泡排序和选择排序,这两种算法都是排序算法。实际上排序算法还有插入、希尔、快速排序等,接下来我们就来学习一下这几种排序算法。全文大约【5400】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富的案例及配图视频,让你更好地理......