Java实现队列
来源:互联网 发布:c语言 double 误差 编辑:程序博客网 时间:2024/05/01 20:49
package test;
public class Queue {
private int maxSize;// 表示队列的大小
private int[] queArr;// 用数组来存放队列的数据
private int front;// 取数据的下标
private int rear;// 存数据的下标
private int nItems;// 记录存放数据的个数
public Queue(int s) {
maxSize = s;
queArr = new int[maxSize];
front = 0;
rear = -1;
nItems = 0;
}
public void insert(int j) {// 增加数据的方法
if (isFull()) {
return;
}
// 如果下标达到数组顶部的话,让rear指向数组的第一个位置之前
if (rear == maxSize - 1)
rear = -1;
queArr[++rear] = j;
nItems++;
}
public int remove() {
int temp = queArr[front++];
// 如果下标达到数组顶部的话,让front指向数组的第一个位置
if (front == maxSize)
front = 0;
nItems--;
return temp;
}
public int peekFront() {
// 只是返回最前面那个元素的值,并不删除
return queArr[front];
}
public boolean isEmpty() {
return (nItems == 0);
}
public boolean isFull() {
return (nItems == maxSize);
}
public int size() {
return nItems;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue theQueue = new Queue(4);
theQueue.insert(10);
theQueue.insert(20);
theQueue.insert(30);
theQueue.insert(40);
theQueue.remove();
theQueue.insert(50);
theQueue.insert(60);
while (!theQueue.isEmpty()) {
System.out.println(theQueue.remove());
}
}
}
public class Queue {
private int maxSize;// 表示队列的大小
private int[] queArr;// 用数组来存放队列的数据
private int front;// 取数据的下标
private int rear;// 存数据的下标
private int nItems;// 记录存放数据的个数
public Queue(int s) {
maxSize = s;
queArr = new int[maxSize];
front = 0;
rear = -1;
nItems = 0;
}
public void insert(int j) {// 增加数据的方法
if (isFull()) {
return;
}
// 如果下标达到数组顶部的话,让rear指向数组的第一个位置之前
if (rear == maxSize - 1)
rear = -1;
queArr[++rear] = j;
nItems++;
}
public int remove() {
int temp = queArr[front++];
// 如果下标达到数组顶部的话,让front指向数组的第一个位置
if (front == maxSize)
front = 0;
nItems--;
return temp;
}
public int peekFront() {
// 只是返回最前面那个元素的值,并不删除
return queArr[front];
}
public boolean isEmpty() {
return (nItems == 0);
}
public boolean isFull() {
return (nItems == maxSize);
}
public int size() {
return nItems;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue theQueue = new Queue(4);
theQueue.insert(10);
theQueue.insert(20);
theQueue.insert(30);
theQueue.insert(40);
theQueue.remove();
theQueue.insert(50);
theQueue.insert(60);
while (!theQueue.isEmpty()) {
System.out.println(theQueue.remove());
}
}
}
0 0
- 队列:循环队列Java实现
- java实现队列
- java 实现的队列
- java 队列实现
- Java实现队列操作
- Java实现循环队列
- java 队列实现
- java 队列的实现
- Java实现队列
- 堆、队列、java实现
- java实现队列
- 队列的实现(JAVA)
- java实现队列
- java实现队列
- java实现队列
- Java实现队列
- Java队列实现
- Java优先级队列实现
- Linux:awk命令详解
- poj2031Building a Space Station 最小生成树
- 关于java jdk和jre
- Defining an Interaction Model: The Cornerstone of Application Design
- Ubuntu14.04上配置hadoop
- Java实现队列
- Ubuntu下添加开机启动项的2种方法
- 斐波那契数列&杨辉三角
- java枚举
- leetcode: (202) Happy Number
- 组合(Composite)模式
- JAVA问题总结之4--各大数据类型能存的最大最小值
- 野人学Android基础篇之初探UI控件第一课--TextView动态赋值
- hdu 1040 As Easy As A+B