最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Java用数组实现循环队列的示例
时间:2022-06-29 01:11:09 编辑:袖梨 来源:一聚教程网
复习了下数据结构,用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
相关文章
- 江南百景图碎金泉怎么样 12-26
- 江南百景图游宴廊怎么样 江南百景图游宴廊建筑介绍 12-26
- 江南百景图碎金泉怎么样 江南百景图碎金泉建筑介绍 12-26
- 炉石传说兑换码大全 12-26
- 重返未来1999趋光性研究夜幕之外怎么玩 趋光性夜幕之外活动介绍 12-26
- 光遇12.26大蜡烛在哪里 光遇12月26日大蜡烛位置攻略 12-26