在Java中用链表为底层数据结构创建队列
public class ListToQueue<T> implements selfqueue<T> {
LinkList<T> ldata;
public ListToQueue(){
ldata=new LinkList<>();
}
@Override
public void offer(T e) {
//头插尾插都可以,时间复杂度都会有一个O(1),O(n)
ldata.addHead(e);
}
@Override
public T poll() {
//如果使用头插法就要从链表的尾部出队
T temp=ldata.getlast();
ldata.removelast();
return temp;
}
@Override
public T peak() {
return ldata.getfirst();
}
@Override
public int getsize() {
return ldata.getSize();
}
@Override
public boolean IsEmpty() {
return ldata.IsEmpty();
}
}