Java 数据结构之队列

来源:互联网 发布:怎么接淘宝壁纸 编辑:程序博客网 时间:2024/06/05 07:40

一、概述:

1、说明:
队列的原则时先进先出,就像生活中排队取票一样,谁排在前面谁先得到

2、有五个属性:
1)数组元素
2)最大空间
3)长度
4)队头
5)队尾

3、示例图:
这里写图片描述

二、代码实现

/** * @描述 对列 * @项目名称 Java_DataStruct * @包名 com.java.stack * @类名 Queue * @author chenlin * @date 2011年6月5日 下午8:12:47 * @version 1.0 * @SVN $Rev$ */public class Queue {    private long[] arr;    private int maxSize;// 最大空间    private int len;// 有效长度    private int head;// 队头    private int end;// 队尾    public Queue(int size) {        this.maxSize = size;        this.arr = new long[maxSize];        this.len = 0;        this.head = 0;        this.end = -1;    }    /**     * 从队尾插入数据     *      * @param value     */    public void insert(long value) {        arr[++end] = value;        len++;    }    /**     * 从队头移除数据     */    public long remove() {        len--;        return arr[head++];    }    /**     * 判断是否为空     *      * @return     */    public boolean isEmpty() {        return (len == 0);    }    /**     * 判断是否满了     *      * @return     */    public boolean isFull() {        return (len == maxSize - 1);    }    /**     * 获得队列的有效长度     *      * @return     */    public int size() {        return len;    }    public static void main(String[] args) {        Queue queue = new Queue(50);        queue.insert(22);        queue.insert(33);        queue.insert(44);        queue.insert(534);        queue.insert(21);        queue.insert(55);        while (!queue.isEmpty()) {            System.out.println(queue.remove());        }    }}
0 0
原创粉丝点击