• JAVA顺序队列


    test.java

    public class test{
        public static void main(String[] args) {
            //创建一个队列
            ArrayQueue1 a = new ArrayQueue1();
            a.creatArrayQueue(5);
            System.out.println(a.isEmpty());
            a.addQueue(1);
            a.addQueue(3);
            a.getQueue();
            a.showQueue();
            System.out.println("-------------");
            a.addQueue(5);
            a.addQueue(7);
            a.addQueue(3);
            a.showQueue();
            System.out.println(a.isFull());//此时虽然队列中的有效数字只有4个,不到5个,但是rear指针已经移到了maxSize-1的位置了。
        }
    }

    ArrayQueue1.javapublic class ArrayQueue1    private int maxSize;//最大容量

        private int front;//队列头
        private int rear;//队列尾
        private int arr[];
        //创建队列
            public void creatArrayQueue(int arrMaxSize) {
                maxSize = arrMaxSize;
                arr = new int[maxSize];
                //指向队列前一个位置
                front = -1;//头指针
                rear = -1; //尾指针
            }
            //判断队列是否满
            public boolean isFull() {
                if(rear == maxSize-1) 
                    return true;
                else
                    return false;
            }
            //判断队列是否为空
            public boolean isEmpty() {
                if(front == rear)
                    return true;
                else
                    return false;
            }
            //入队
            public void addQueue(int n) {
                //判断是否已满
                if(isFull() == true)
                {
                    System.out.println("队列已满");
                    return;
                }
                rear++;
                arr[rear] = n;
            }
            //出队
            public int getQueue() {
                //判断队列是否为空
                if(isEmpty() == true) {
                    System.out.println("队列为空");
                    return -1;
                }
                front++;
                return arr[front];
            }
            //显示队列的所有数据
            public void showQueue(){
                if(isEmpty() == true)
                {
                    System.out.println("队列为空");
                    return;
                }
                for(int i = front+1;i <= rear;i++)
                {
                    System.out.println(arr[i]);
                }
            }
    }

    结果:

    true
    3
    -------------
    3
    5
    7
    3
    true

  • 相关阅读:
    CFree 提示main must return int
    策略模式
    CFree 提示no newline at the end of file
    EEPROM的写入操作解析
    一些关于mic的知识
    一些关于电池的资料
    太阳能电池板日发电量简易计算方法
    ubuntu 下载编译android源代码
    SC44B0的内存地址解析
    RequireJS 2.0 学习笔记一
  • 原文地址:https://www.cnblogs.com/lintianxiajun/p/12826177.html
Copyright © 2020-2023  润新知