手写队列:
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();
}
}
队列的简单时间复杂度分析:
二 基于java动态数组手写栈
package dataStucture2.stack; import dataStucture2.array.MyDynamicArray; /** * 基于动态数组手写栈 * 设计时,栈中仅栈顶对 ...
<;数据结构系列1>;封装自己的数组——手写动态泛型数组(简化版ArrayList)
哈哈,距离上一次写博客已经快过去半个月了,这这这,好像有点慢啊,话不多说,开始我们的手写动态泛型数组 首先是我们自己写一个自己的动态数组类,代码如下所示: public class Array< ...
基于tensorflow的MNIST手写数字识别(二)--入门篇
http://www.jianshu.com/p/4195577585e6 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型 基于tensorflow的MNIST手写数字识 ...
基于Numpy的神经网络+手写数字识别
基于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(BFS+[手写队列])
贴一发自己写的手写队列-.. #include #include #include #include ...
[Python]基于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++ 头文件系列 (bitset)
简介 该头文件有关位集,实际上是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.如果确定代码及配置文件没有问题,就需要检查镜像的替换是否正 ...