每天提高一点点,保持就是胜利。
1、队列
/**
* 人无完人,如有bug,还请斧正
* 持续学习Java数据构造————队列(列队)
* 队列和栈一样,都是应用数组,但是队列多了一个队头,队头拜访数据,队尾插入数据
* 队列的主要数据特征————先进先出
* 入队、出队、队满、队空、查看
*/
public class Queue {
private long arr[];
private int Maxsize;// 最大容量
private int front;// 队头,拜访数据
private int rear;// 队尾,插入数据
private int elements;// 有效数据
public Queue(int size) {
this.Maxsize = size;
arr = new long[Maxsize];
front = 0;// 下标为0开端拜访
rear = -1;// 相当于栈的指针
elements = 0;
}
// 有效数据
public void show() {
System.out.println(elements);
}
// 查看当前指向数据
public long peek() {
return arr[front];
}
// 入队
public void add(int value) {
arr[++rear] = value;
elements++;
}
// 出队
public long remove() {
long value = arr[front++];// 队头从0开端
elements--;
return value;
}
// 队满
public boolean isEmpty() {
return elements == 0;
}
// 队空
public boolean isFull() {
return elements == Maxsize;
}
public static void main(String[] args) {
Queue q = new Queue(3);
q.add(52);
q.add(2);
q.add(6);
while(!q.isEmpty()){
System.out.print(q.remove()+" ");//先进先出
}
}
}
/**
* 人无完人,如有bug,还请斧正