一、队列的简单介绍
1、队列在我们的生活中到处可见,比如食堂排队打饭,银行排队办理业务等等。
2、队列是一种先进先出的设计原则。
3、队列是一种特别常用的数据结构,我们在我们的操作系统中,我们有用到优先队列。
二、队列的基本实现。
1、底层的接口实现定义的方法。
package com.ypl.demo;
public interface Queue<E> {
int getSize();
boolean isEmpty();
void enqueue(E e);
E dequeue();
E getFront();
}
2、利用动态数组实现。
package com.ypl.demo;
public class ArrayQueue<T> implements Queue<T> {
private Array<T> array;
public ArrayQueue() {
array=new ArrayImpl<>();
}
public ArrayQueue(int capciaty) {
array=new ArrayImpl<>(capciaty);
}
@Override
public int getSize() {
// TODO Auto-generated method stub
return array.getSize();
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return array.getSize()==0;
}
@Override
public void enqueue(T e) {
array.addLast(e);
}
@Override
public T dequeue() {
// TODO Auto-generated method stub
return array.removeFirst();
}
@Override
public T getFront() {
// TODO Auto-generated method stub
return array.getFirst();
}
}
3、循环队列的实现。
package com.ypl.demo;
/**
*
* @author ypl 判断队列空和队满的条件 size==0; //表示对空 size=