java 动态队列_三 基于Java动态数组手写队列

手写队列:

package dataStucture2.stackandqueue;

import com.lt.datastructure.MaxHeap.Queue;

import dataStucture2.array.MyDynamicArray;

/**

* 基于Java动态数组手写一个队列

*

*

* @param

*/

public class MyArrayQueue implements Queue {

// 基于数组

private MyDynamicArray array;

// 有参构造

public MyArrayQueue(int capacity) {

array = new MyDynamicArray<>(capacity);

}

// 无参构造

public MyArrayQueue() {

array = new MyDynamicArray<>();

}

@Override

// 获取元素个数

public int getSize() {

return array.getSize();

}

@Override

// 判断是否为空

public boolean isEmpty() {

return array.isEmpty();

}

@Override

// 入队,底层采用动态数组的addLast方法,底层实现了动态扩容

public void enqueue(E e) {

array.addLast(e);

}

@Override

// 出队,取出队列中的元素,底层采用动态数组 的removeFirst

public E dequeue() {

return array.removeFirst();

}

@Override

// 查看队首元素

public E getFront() {

return array.getFirst();

}

@Override

// 重写toString打印队列

public String toString() {

StringBuilder res = new StringBuilder();

res.append("Queue: ");

res.append("front [");

for(int i = 0 ; i < array.getSize() ; i++ ){

res.append(array.get(i));

if(i != array.getSize() -1 ){

res.append(", ");

}

}

res.append(']');

return res.toString();

}

}

队列的简单时间复杂度分析:

1dd221dd02a16b0081ed1ca547af3cb6.png

二 基于java动态数组手写栈

package dataStucture2.stack; import dataStucture2.array.MyDynamicArray; /** * 基于动态数组手写栈 * 设计时,栈中仅栈顶对 ...

&lt&semi;数据结构系列1&gt&semi;封装自己的数组——手写动态泛型数组&lpar;简化版ArrayList&rpar;

哈哈,距离上一次写博客已经快过去半个月了,这这这,好像有点慢啊,话不多说,开始我们的手写动态泛型数组 首先是我们自己写一个自己的动态数组类,代码如下所示: public class Array< ...

基于tensorflow的MNIST手写数字识别(二)--入门篇

http://www.jianshu.com/p/4195577585e6 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型 基于tensorflow的MNIST手写数字识 ...

基于Numpy的神经网络&plus;手写数字识别

基于Numpy的神经网络+手写数字识别 本文代码来自Tariq Rashid所著 代码分为三个部分,框架如下所示: # neural network class ...

手写队列以及stl中队列的使用

一,手写队列. struct queue { ; ,rear=,a[maxn]; void push(int x) { a[++rear]=x; } void pop() { first++; } i ...

基于TensorFlow的MNIST手写数字识别-初级

一:MNIST数据集    下载地址 MNIST是一个包含很多手写数字图片的数据集,一共4个二进制压缩文件 分别是test set images,test set labels,training se ...

Java动态数组

其中java动态数组: Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList. ...

POJ3414&lpar;BFS&plus;&lbrack;手写队列&rsqb;&rpar;

贴一发自己写的手写队列-.. #include #include #include #include ...

&lbrack;Python&rsqb;基于CNN的MNIST手写数字识别

目录 一.背景介绍 1.1 卷积神经网络 1.2 深度学习框架 1.3 MNIST 数据集 二.方法和原理 2.1 部署网络模型 (1)权重初始化 (2)卷积和池化 (3)搭建卷积层1 (4)搭建卷积 ...

随机推荐

lombok介绍

Lombok是一种JavaArchive(JAR)文件,可用来消除Java代码的冗长.在写代码时,可以通过这个插件消除各种getter和setter,toString等常用方法. lombok 注解: ...

ArcGIS学习推荐

1.  Arcgis Desktop 10帮助库 ArcGIS 系统的帮助库.该帮助库已经过编译,可为 ArcGIS 各方面的应用提供综合文档.建立该库的目的是满足以下各类主要用户的需求: GIS 专 ...

spring框架面试相关问题

Spring 框架中核心组件有三个:Core.Context 和 Beans.其中最核心的组件就是Beans, Spring提供的最核心的功能就是Bean Factory. Spring 解决了的最核 ...

win7 安装vs2010报错 Error code -939523550 for this component is not recognizedHi

When i try to install VS2010, Its not installing. I'm getting an error.  It just try to install the ...

jquery animate 详解

一.前言 继上一篇文章jquery stop的探索之后,我们继续对jquery动画animate的研究. 从stop给出参数我们就知道,它适合你去立即停止或者立即结束当前动画,清除或者继续非当前的动画 ...

C&plus;&plus; 头文件系列 &lpar;bitset&rpar;

简介 该头文件有关位集,实际上是vector 位 位本质上对应bool的概念,只有0或1,true或false两种对立的值. 但很可惜,字节才是机器上最小的存储单元,所以bool基本上是由一个字节大小 ...

python 语法笔记(一)

#python3里面input默认接收到的事str类型,而python2里面却认为是int类型n=int(input('请输入想要第几个数')) #如果将int省去,python3中该程序将会报错a, ...

Flutter 读写本地文件

文档 注意 安装 path_provider 插件后重启f5, 而不是等待热更新 demo import 'dart:io'; import 'dart:async'; import 'package ...

Chapter 5 Blood Type——24

"She's just a little faint," he reassured the startled nurse. "They're blood typing i ...

docker镜像运行错误排查

docker做服务时,如果客户端无法连接,错误排查: 1.先使用 docker ps 查看镜像是否都在运行中,如果没有就进入镜像查看日志 2.如果确定代码及配置文件没有问题,就需要检查镜像的替换是否正 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值