栈和队列(队列)

来源:互联网 发布:淘宝产品ps调色 编辑:程序博客网 时间:2024/04/27 13:26

//列队类
public class MyQueue {
//底层使用数组
private int []arr;
//有效数据的大小
private int element;
//队头
private int front;
//队尾
private int end;
//默认构造方法
public MyQueue(){
arr = new int [10];
element = 0;
front = 0;
end = -1;
}
//带参数构造方法,参数为数组大小
public MyQueue (int maxsize){
arr = new int[maxsize];
element = 0;
front = 0;
end = -1;
}
//添加数据 ,从队尾插入
public void insert(int value){
if(end==arr.length-1){
end = -1;
}
arr[++end] = value; //注意是++end 不是end ++
element ++;
}
//删除数据,从队头删除
public int remove(){
int value = arr[front++];
if(front==arr.length){
front = 0;
}
element–;
return value;
}
//查看数据
public int peek(){
return arr[front];
}
//判断是否为空
public boolean isEmpty(){
return element==0;
}
public boolean isFull(){
return element==arr.length;
}
}

队列和栈的区别:
队列:先进先出,栈只允许在表尾一端进行插入和删除
栈:先进后出, 队列只允许在表尾一端进行插入,在表头一端进行删除

原创粉丝点击