您好,欢迎访问一九零五行业门户网

Java如何使用数组实现循环队列的案例

下面小编就为大家带来一篇java用数组实现循环队列的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
复习了下数据结构,用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如何使用数组实现循环队列的案例的详细内容。
其它类似信息

推荐信息