A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

队列的核心为先进先出,即先入队的元素先出队,在之前手写的ArrayList中添加了删除方法实现了队列
[Java] 纯文本查看 复制代码
/**
 * 在之前自定义的动态数组基础上完成队列,动态数组中要添加删除方法
 *
 * @author 大刘
 */
public class Queue <E>{
    private ArraysList<E> arraysList;

    /**
     * 入队方法
     * @param e 入队元素
     */
    public void enqueue(E e){
        arraysList.add(e);
    }

    /**
     * 出队方法 取出对头元素
     * @return
     */
    public E dequeue(){
        return arraysList.removeFirst();
    }

    public boolean isEmpty(){
        return arraysList.isEmpty();
    }

    /**
     * 查看队头元素
     * @return
     */
    public E getHead(){
        return arraysList.get(0);
    }

    public int size(){
        return arraysList.size;
    }

}

还有之前补充的删除方法
[Java] 纯文本查看 复制代码
 private E remove(int index){
        if(size==0){
            throw new IndexOutOfBoundsException("数组空");
        }
        if(index<0||index>array.length){
            throw new IllegalArgumentException("索引违法");
        }
        E e=array[index];
        for(int i=index;i<size;i++){
            array[i]=array[i+1];
        }
        size--;
        return e;
    }

    public E removeFirst(){
        return remove(0);
    }

    public E removeLast(){
        return remove(size-1);
    }


转载自CSDN

2 个回复

正序浏览
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马