当前位置: 首页 > news >正文

数据结构之Queue的实现

Queue支持的方法

方法名参数功能返回
Sizevoid返回链表规模(该方法由List< T>派生而来)
emptyvoid返回链表是否为空(该方法由List< T>派生而来)
frontvoid返回队首数据域的引用
enqueueT const & e入队void
dequeuevoid出队出队的对象

code

// Queue.h
# pragma once
# include "List.h"template <typename T>
class Queue :public List<T>{
public:void enqueue(T const & e){List<T>::insertAsLast(e);}T dequeue(void){T tmp = List<T>::first()->data;List<T>::remove(List<T>::first());return tmp;}T & front(void){return List::first()->data;}
};

测试code

// main.cpp
# include <iostream>
# include "Queue.h"int main(void)
{Queue<int> q;for (int i = 1; i < 10; ++i)q.enqueue(i);std::cout << q.Size() << '\n';while (!q.empty()){std::cout << q.dequeue();}
}

输出

9
123456789

theeeeend •ࡇ•

http://www.lryc.cn/news/95358.html

相关文章:

  • rust声明式宏
  • 第二章:Learning Deep Features for Discriminative Localization ——学习用于判别定位的深度特征
  • 【CSS】box-shadow 属性
  • 基于深度学习的高精度课堂人脸检测系统(PyTorch+Pyside6+YOLOv5模型)
  • Mysql错误日志、通用查询日志、二进制日志和慢日志的介绍和查看
  • 【Linux】Tcp服务器的三种与客户端通信方法及守护进程化
  • 【Spring Cloud】git 仓库新的配置是如何刷新到各个微服务的原理步骤
  • 三,创建订单微服务消费者 第三章
  • 【雕爷学编程】Arduino动手做(87)---ULN2003步进电机模组2
  • 【C#】微软的Roslyn 是个啥?
  • 两个小封装电机驱动芯片:MLX813XX、A4950
  • 数据结构【绪论】
  • 掌握无人机遥感数据预处理的全链条理论与实践流程、典型农林植被性状的估算理论与实践方法、利用MATLAB进行编程实践(脚本与GUI开发)以及期刊论文插图制作等
  • Angular中组件设计需要注意什么?
  • 电容触摸屏(TP)的工艺结构
  • Qt小妙招:如何在可执行文件生成后,在pro文件中添加其他命令操作?
  • 做好防雷检测的意义和作用
  • 计算机启动过程uefi+gpt方式
  • 探索容器镜像安全管理之道
  • 【MySQL】内置函数
  • 使用arm-none-eabi-gcc编译器搭建STM32的Vscode开发环境
  • 图数据库Neo4j学习二——cypher基本语法
  • ChatGPT:人工智能交互的未来之光
  • 128最长连续数组
  • redis 1
  • vue+Element项目中v-for循环+表单验证
  • Day 66-68 主动学习之ALEC
  • local-path-provisioner与pvc本地磁盘挂载helm部署
  • Visio/PPT/Matlab输出300dpi以上图片【满足标准投稿要求】
  • 科技UI图标的制作