package queueDirection0925;
public interface MyQueue {
public boolean isFull(int data);
public boolean isEmpty();
public void add(int data);
public void delete();
public void print();
}
package queueDirection0925;
import java.util.Scanner;
public class Queue implements MyQueue{
//定义数组长度
static int maxSize;
//定义头指针
static int front;
//定义尾指针
static int end;
//定义计数器 ,作为判断队空与否的条件
static int count;
//定义数组
static int[] array;
static Scanner scanner=new Scanner(System.in);
static Queue qq=new Queue();
// public Queue() {
// this.count=0;
// this.front=0;
// this.end=0;
//
// System.out.print("please input a number of queue'length: ");
// this.maxSize=scanner.nextInt();
// array=new int[maxSize];
// }
// public Queue(int maxsize) {
// this.maxSize = maxsize; //获取数组长度
// array = new int[maxsize]; //创建数组
// end = 0;
// front=0;
// count=0;
// }
@Override
public boolean isFull(int data) {
if(front==end && count==maxSize) {
System.out.println("你好哇! "+data+",队已经满啦,你进不去了!先出个队试试n");
return true;
}else {
return false;
}
}
@Override
public boolean isEmpty() {
if(front==end && count==0) {
System.out.println("队列已经空了呀,没有数据了n");
return true;
}else {
return false;
}
}
@Override
public void add(int data) {
if(isFull(data)) {
return;
}
array[end]=data;
System.out.println(data+" 进队成功!");
count++;
if(count==array.length) {
System.out.println("============"+"注意!注意,队列满了哈!"+"============n");
}
end=(end+1)%array.length;
}
@Override
public void delete() {
if(isEmpty()) {
return;
}else {
System.out.println(array[front]+" 出队成功!");
count--;
front=(front+1)%array.length;
}
println("-----------------------");
}
@Override
public void print() {
if(isEmpty()) {
return;
}else {
if(end>front) {
System.out.println("当前队列元素:"+"n-----------------------");
for(int i=front;i