1、实现代码

public class SeqQueue {
private final int MaxSize = 8;
private int rear; //队尾指针
private int front; //队头指针
private int size; //计数器
private Object seqQueueArray[]; /**
* 初始化
*/
public SeqQueue() {
this.size = 0;
this.front = 0;
this.rear = 0;
seqQueueArray = new Object[MaxSize];
} public boolean isEmpty(SeqQueue seqQueue) {
if (seqQueue.size == 0){
return true;
}
return false;
} public boolean isFull(SeqQueue seqQueue) {
if (seqQueue.size > 0 && seqQueue.rear == seqQueue.front){
return true;
}
return false;
} public void queueAppend(SeqQueue seqQueue,Object element) {
if (isFull(seqQueue)){
System.out.println("已满,无法插入");
return;
}
System.out.println(element+"元素入队列");
seqQueue.seqQueueArray[seqQueue.rear] = element;
seqQueue.rear = (seqQueue.rear +1 )%MaxSize;
seqQueue.size++;
} public void queueDelete(SeqQueue seqQueue) {
if (isEmpty(seqQueue)){
System.out.println("已空,无法出队列");
return;
}
System.out.print(seqQueue.seqQueueArray[seqQueue.front]+" ");
seqQueue.front = (seqQueue.front +1)%MaxSize;
seqQueue.size--;
} public void getFront(SeqQueue seqQueue) {
if (isEmpty(seqQueue)){
System.out.println("已空,无法获取队列头");
return;
}
System.out.println("队头元素: "+ seqQueue.seqQueueArray[seqQueue.rear]);
} public static void main(String[] args) {
SeqQueue seqQueue = new SeqQueue();
seqQueue.getFront(seqQueue);
seqQueue.queueDelete(seqQueue); for (int i = 0; i < 9; i++) {
seqQueue.queueAppend(seqQueue,i);
}
System.out.println("===========");
seqQueue.queueDelete(seqQueue);
System.out.println("==========="); int number = seqQueue.size;
for (int i = 0; i < number; i++) {
seqQueue.queueDelete(seqQueue);
}
System.out.println();
seqQueue.queueDelete(seqQueue); }
}

2、实现结果

已空,无法获取队列头
已空,无法出队列
0元素入队列
1元素入队列
2元素入队列
3元素入队列
4元素入队列
5元素入队列
6元素入队列
7元素入队列
已满,无法插入
===========
0 ===========
1 2 3 4 5 6 7
已空,无法出队列

5.1、顺序队列(java实现)的更多相关文章

  1. 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列

    一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...

  2. java 实现简单的顺序队列

    package com.my; import java.util.Arrays; /** * 顺序队列 * @author wanjn * */ public class ArrayQueue { p ...

  3. java代码实现顺序队列

    java实现顺序队列 package xianxinTable; import java.util.ArrayList; import java.util.Iterator; import com.s ...

  4. 数据结构----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列

    一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...

  5. 用数组实现队列(顺序队列&循环队列)

    用数组实现队列(顺序队列&循环队列) 顺序队列 ️ 队列(先进先出) 几个问题: 队列方法:入队.出队 队列的存储:即队首队尾两个指针, 扩容:如果队列容量不够了,应该扩容,如果队尾没有位置了 ...

  6. 顺序队列C/C++实现

    #include <iostream> using namespace std; const int MAXSIZE = 1000; typedef int ELEMTYPE; const ...

  7. 顺序队列之C++实现

    下面介绍下用C++实现的顺序队列,在VC6下调试通过. 1.文件组织形式 2.sq.h顺序队列类的说明 #ifndef _SQ_H_ #define _SQ_H_ typedef int dataTy ...

  8. Javascript数据结构与算法--队列(顺序队列、优先队列、循环队列)的实现与用法

    前言 队列和栈非常类似,前面已经讲过了栈的实现与用法,现在我们来说说队列. 队列介绍 队列遵循FIFO(First In First Out,先进先出)原则的一组有序的项. 队列是一种特殊的线性表,特 ...

  9. 队列java实现

    队列是一种线性数据结构,是一种运算受限的线性表,只允许在队尾插入,在队头删除.运算规则是先进先出.恰好和栈相反.栈是先进后出.因为栈只在栈顶做删除和插入. 队列按照存储结构可以分为顺序队列和链式队列. ...

  10. 队列的理解和实现(一) ----- 循环队列(java实现)

    什么是队列 我们都知道栈是先进后出的一种线性表,与之相反的是,队列是一种先进先出的线性表.它只允许在表的一端进行插入,而在另一端进行删除.举个例子来说,在生活中我们买东西需要进行排队,最先排队的可以最 ...

随机推荐

  1. Oracle - SPM固定执行计划(一)

    一.前言 生产中偶尔会碰到一些sql,有多种执行计划,其中部分情况是统计信息过旧造成的,重新收集下统计信息就行了.但是有些时候重新收集统计信息也解决不了问题,而开发又在嗷嗷叫,没时间让你去慢慢分析原因 ...

  2. java秒杀系列(2)- 页面静态化技术

    前言 通过代码片段分别介绍服务端渲染.客户端渲染.对象缓存三种方式的写法. 代码片段仅供参考,具体实现需要根据业务场景自行适配,但思想都是一样. 一.服务端渲染方式 1.接口返回html页面的设置 @ ...

  3. 微信小程序页面跳转url如何传对象参数

    两步走 首先第一步:wx.navigateTo({ url:"XXX"+"&params="+ JSON.stringify(obj); }) 第二步获 ...

  4. Nginx总结(一)Linux下如何安装Nginx

    以前写过一些Nginx的文章,但都是用到什么说什么,没有一个完整系统的总结.趁最近有时间,打算将Nginx相关的内容重新整理一下.nginx系列文章地址如下:https://www.cnblogs.c ...

  5. 使用MTA HTML5统计API来分析数据

    使用MTA HTML5统计API来分析数据 在开发个人博客的时候,用到了腾讯移动分析(MTA),相比其他数据统计平台来说我喜欢她的简洁高效,易上手,同时文档也比较全面,提供了数据接口供用户调用. 在看 ...

  6. Nginx+Zuul集群实现高可用网关

    代码参考:https://github.com/HCJ-shadow/Zuul-Gateway-Cluster-Nginx Zuul的路由转发功能 前期准备 搭建Eureka服务注册中心 服务提供者m ...

  7. MySQL-InnoDB锁(二)

    上篇文章中对InnoDB存储引擎中的锁进行学习,本文是实践部分,根据索引和查询范围,探究加锁范围的情况. 在本实例中,创建简单表如下: mysql> select * from t; +---- ...

  8. cocos creator 事件

    cocos creator 事件 在做一个消除类游戏时,需要对点击的方块做出响应.代码很简单,可背后的原理还多着呢. 1. 普通节点注册click事件 在cc中如果需要相应click事件,需要为该节点 ...

  9. Java 集合源码分析(一)HashMap

    目录 Java 集合源码分析(一)HashMap 1. 概要 2. JDK 7 的 HashMap 3. JDK 1.8 的 HashMap 4. Hashtable 5. JDK 1.7 的 Con ...

  10. ECMAScript---变量

    上上篇我们说到ESMAScript是JS的语法规划,JS中的变量.数据类型.语法规范.操作语句.设计模型等都是ES规定的,现在咱们聊一下JS中的变量和常量 变量(variable) 它不是具体值,只是 ...