Java数据结构之队列的简单定义与使用方法

 更新时间:2017年10月24日 09:31:07   作者:CharlinGod  
这篇文章主要介绍了Java数据结构之队列的简单定义与使用方法,简单描述了队列的功能、特点,并结合java实例形式分析了队列的简单定义与使用方法,需要的朋友可以参考下

本文实例讲述了Java数据结构之队列的简单定义与使用方法。分享给大家供大家参考,具体如下:

一、概述:

1、说明:

队列的原则时先进先出,就像生活中排队取票一样,谁排在前面谁先得到

2、有五个属性:

1)数组元素
2)最大空间
3)长度
4)队头
5)队尾

3、示例图:

二、代码实现

/**
 * @描述 对列
 * @项目名称 Java_DataStruct
 * @包名 com.java.stack
 * @类名 Queue
 * @author chenlin
 * @version 1.0
 * @SVN $Rev$
 */
public class Queue {
 private long[] arr;
 private int maxSize;// 最大空间
 private int len;// 有效长度
 private int head;// 队头
 private int end;// 队尾
 public Queue(int size) {
 this.maxSize = size;
 this.arr = new long[maxSize];
 this.len = 0;
 this.head = 0;
 this.end = -1;
 }
 /**
 * 从队尾插入数据
 *
 * @param value
 */
 public void insert(long value) {
 arr[++end] = value;
 len++;
 }
 /**
 * 从队头移除数据
 */
 public long remove() {
 len--;
 return arr[head++];
 }
 /**
 * 判断是否为空
 *
 * @return
 */
 public boolean isEmpty() {
 return (len == 0);
 }
 /**
 * 判断是否满了
 *
 * @return
 */
 public boolean isFull() {
 return (len == maxSize - 1);
 }
 /**
 * 获得队列的有效长度
 *
 * @return
 */
 public int size() {
 return len;
 }
 public static void main(String[] args) {
 Queue queue = new Queue(50);
 queue.insert(22);
 queue.insert(33);
 queue.insert(44);
 queue.insert(534);
 queue.insert(21);
 queue.insert(55);
 System.out.println("脚本之家测试结果:");
 while (!queue.isEmpty()) {
  System.out.println(queue.remove());
 }
 }
}

运行结果:

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • MyBatis无缝转MyBatis-plus的基本使用

    MyBatis无缝转MyBatis-plus的基本使用

    本文介绍了使用MyBatis-plus来优化MyBatis的使用,包括引入依赖、改造Mapper、实体类注解使用、Service层方法改造等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Spring Boot 基于 SCRAM 认证集成 Kafka 的过程详解

    Spring Boot 基于 SCRAM 认证集成 Kafka 的过程详解

    在本篇文章中,我们将探讨如何在 Spring Boot 应用中集成 Kafka 并使用 SCRAM 认证机制进行安全连接,并实现动态创建账号、ACL 权限、Topic,以及生产者和消费者等操作,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • spring关于组件的注入及获取流程场景分析

    spring关于组件的注入及获取流程场景分析

    这篇文章主要介绍了spring关于组件的注入及获取流程场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-07-07
  • SpringBoot整合Security实现权限控制框架(案例详解)

    SpringBoot整合Security实现权限控制框架(案例详解)

    Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框,是一个重量级的安全管理框架,本文给大家介绍的非常详细,需要的朋友参考下吧
    2021-08-08
  • springboot 整合 langchain4j 实现简单的问答功能

    springboot 整合 langchain4j 实现简单的问答功能

    最近在学习langchain4j,本文将介绍如何使用langchain4j快速实现一个简单的问答功能,结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2025-04-04
  • Solon MVC 的 @Mapping 用法示例说明

    Solon MVC 的 @Mapping 用法示例说明

    SolonMvc框架中的@Mapping注解用于请求路径映射,支持加在public方法或类上,它可以自定义路径、请求方法、内容类型等,支持多种路径映射表达式和参数注入方式,本文给大家介绍Solon MVC的@Mapping 用法示例说明,感兴趣的朋友一起看看吧
    2024-11-11
  • java随机抽取指定范围内不重复的n个数

    java随机抽取指定范围内不重复的n个数

    这篇文章主要为大家详细介绍了java随机抽取指定范围内不重复的n个数,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Java 添加、删除、格式化Word中的图片步骤详解( 基于Spire.Cloud.SDK for Java )

    Java 添加、删除、格式化Word中的图片步骤详解( 基于Spire.Cloud.SDK for Java )

    这篇文章主要介绍了Java 添加、删除、格式化Word中的图片( 基于Spire.Cloud.SDK for Java ),本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Spring 项目常用pom文件的依赖

    Spring 项目常用pom文件的依赖

    这篇文章主要介绍了Spring 项目常用pom文件的依赖,文中给大家提到了Spring boot starter pom的依赖关系说明,需要的朋友参考下吧
    2018-03-03
  • SpringBoot项目开发中常用的依赖

    SpringBoot项目开发中常用的依赖

    这篇文章主要介绍了SpringBoot项目开发中常用的依赖详解,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06

最新评论