zoukankan      html  css  js  c++  java
  • [数据结构]-数组实现队列(普通)

    [数据结构]-数组实现队列(普通)

    1 首指针

    2 尾指针

      不是循环队列,将前方空出来的位置,依次向前移动

    package com.cn.jichu.day09;
    
    public class Queue<E> {
        /**
         * 数组
         */
        private E[] data;
        /**
         * 首指针
         */
        private int head;
        /**
         * 尾指针
         */
        private int tail;
        /**
         * 当前队列大小
         */
        private int size;
    
        public Queue(int size) {
            data = (E[]) new Object[size];
            this.size = size;
    
        }
    
        public void enqueue(E e){
            if(tail == size){
                //当尾部满了,头未移动那么说明满了
                if(head == 0){
                    throw new IllegalArgumentException("当前队列满了");
                }else{
                    //头移动了,说明前方有位置
                    //一下操作,为向前移动
                    for(int i = head;i<tail;i++){
                        data[i - head] = data[i];
                    }
                    tail = tail - head;
                    head = 0;
                }
            }
    
            data[tail] = e;
            tail ++;
        }
    
        public E dequeue(){
            if(head == tail){
                throw new IllegalArgumentException("当前队列没有元素可以出列了");
            }
            E e = data[head];
            data[head] = null;
            head ++;
            return e;
        }
    
    
        @Override
        public String toString(){
            StringBuilder ret = new StringBuilder();
            ret.append("queue  head[");
            for(int i=0;i<data.length;i++){
                ret.append(data[i] + " ");
            }
            ret.append(" ] tail");
            return ret.toString();
        }
    }
  • 相关阅读:
    大四实习几个课题
    Keil 4 与Proteus 7.8联调
    局域网共享
    win 8.1 网卡
    路由器无线桥接 router wireless bridge
    系统对话框alert-prompt-confirm
    处理浏览器兼容性
    pageX--clientX--scrollLeft-clientLeft-offsetWidth
    处理注册事件的兼容性问题
    处理innerText的兼容性问题
  • 原文地址:https://www.cnblogs.com/anny0404/p/10654663.html
Copyright © 2011-2022 走看看