Java用数组实现循环队列的示例
发布时间 - 2026-01-11 03:13:53 点击率:次复习了下数据结构,用Java的数组实现一下循环队列。

队列的类
//循环队列
class CirQueue{
private int QueueSize;
private int front;
private int rear;
private int[] queueList ;
public CirQueue(int QueueSize){
this.QueueSize = QueueSize;
queueList = new int[QueueSize];
front = 0;
rear = 0;
}
//获取队列头元素
public int getQueueElement(){
//如果队列不为空,返回队头元素,否则抛出异常提示队列为空
int element = -1;
if(!isEmpty()){
element = queueList[front];
return element;
}
else {
System.out.println("队列为空");
return -1;
}
}
//出队
public int deQueue(){
int element = -1;
if(!isEmpty()){
element = queueList[front];
front =(front+1)%QueueSize;
return element;
}
else {
System.out.println("队列为空");
return -1;
}
}
//入队
public void enQueue(int element){
//如果队列未满,添加元素到队尾,否则提示队列已满
if(!isFull()){
queueList[rear] = element ;
rear = (rear+1)%QueueSize;
}
else {
System.out.println("队列已满");
}
}
//判断队列是否为空
public boolean isEmpty(){
boolean b = false;
if(rear == front)
b = true;
return b;
}
//判断队列是否已满
public boolean isFull(){
boolean b = false;
if((rear+1)%QueueSize == front)
b = true;
return b;
}
}
创建对象并测试
package com.test;
import java.util.*;
public class StructTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//新建并初始化存储空间为3的循环队列(方便判断队满条件,浪费一个数组空间)
CirQueue cirQueue = new CirQueue(4);
//入队3个元素
cirQueue.enQueue(1);
cirQueue.enQueue(2);
cirQueue.enQueue(3);
//获取队头元素,获取 但不改变队列
int temp = cirQueue.getQueueElement();
System.out.println(temp);
//出队 获取队头元素,并且队头指针往后移一位
temp = cirQueue.deQueue();
System.out.println(temp);
//再次获取队头元素
temp = cirQueue.getQueueElement();
System.out.println(temp);
}
}
输出:
1 1 2
以上这篇Java用数组实现循环队列的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# 数组实现循环队列
# Java基础之数组模拟循环队列
# Java 1.8使用数组实现循环队列
# 基于Java数组实现循环队列的两种方法小结
# java数据结构与算法之双向循环队列的数组实现方法
# java数组实现循环队列示例介绍
# 为空
# 已满
# 给大家
# 数据结构
# 希望能
# 这篇
# 但不
# 抛出
# 小编
# 未满
# 大家多多
# getQueueElement
# temp
# public
# rear
# queueList
# cirQueue
# System
# println
# return
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何在Windows服务器上快速搭建网站?
如何用VPS主机快速搭建个人网站?
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
大同网页,大同瑞慈医院官网?
lovemo网页版地址 lovemo官网手机登录
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
在线制作视频网站免费,都有哪些好的动漫网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
大连 网站制作,大连天途有线官网?
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Swift中循环语句中的转移语句 break 和 continue
Laravel怎么在Blade中安全地输出原始HTML内容
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
油猴 教程,油猴搜脚本为什么会网页无法显示?
Laravel如何处理异常和错误?(Handler示例)
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
如何注册花生壳免费域名并搭建个人网站?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Python进程池调度策略_任务分发说明【指导】
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
个人网站制作流程图片大全,个人网站如何注销?
如何在云服务器上快速搭建个人网站?
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
EditPlus中的正则表达式 实战(2)
如何快速搭建安全的FTP站点?
如何为不同团队 ID 动态生成多个非值班状态按钮
实例解析angularjs的filter过滤器
Android Socket接口实现即时通讯实例代码
大学网站设计制作软件有哪些,如何将网站制作成自己app?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
图册素材网站设计制作软件,图册的导出方式有几种?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
如何在阿里云高效完成企业建站全流程?
高端云建站费用究竟需要多少预算?

