队列2

接上一个,数组模拟队列:https://blog.csdn.net/qq_37312838/article/details/115025247

存在一些问题,改进用环形数组模拟队列。

1、数组模拟环形队列

分析说明:

1) 尾索引的下一个为头索引时表示队列满,即将队列容量空出一个作为约定,这个在做判断队列满的
时候需要注意 (rear + 1) % maxSize == front 满]
2) rear == front [空]
3) 分析示意图:

思路如下:

1.  front 变量的含义做一个调整: front 就指向队列的第一个元素, 也就是说 arr[front] 就是队列的第一个元素

front 的初始值 = 0

2.  rear 变量的含义做一个调整:rear 指向队列的最后一个元素的后一个位置. 因为希望空出一个空间做为约定.

rear 的初始值 = 0

3. 当队列满时,条件是  (rear  + 1) % maxSize == front 【

4. 对队列为空的条件, rear == front

5. 当我们这样分析, 队列中有效的数据的个数   (rear + maxSize - front) % maxSize   // rear = 1 front = 0

代码实现:

CircleArrayQueue.java

package com.yg.datastructures.queue;

/**
 * @Description: 环形数组 模拟 队列 模型
 * @Author yg
 * @Date 2021-03-20 10:33
 */
public class CircleArrayQueue {
    private final int maxSize;
    /**
     * 该数组存放数据,模拟队列
     */
    private final String[] arr;
    /**
     * 队列头 指针
     */
    private int front;
    /**
     * 队列 追后一个元素的 后一个位置
     */
    private int rear;

    /**
     * 串讲队列 构造器
     */
    public CircleArrayQueue(int arrMaxSize) {
        maxSize = arrMaxSize;
        arr = new String[maxSize];
        /**
         * 指向队列头部,
         * 指向队列头部的前一个位置。
         *
         */
        front = 0;
        /**
         * 指向队列尾最后一个元素的后一个位置
         *
         */
        rear = 0;
    }


    /**
     * 判断队列是否满了
     * (rear + 1) % maxSize == front
     *
     * @return
     */
    public boolean isFull() {
        return (rear + 1) % maxSize == front;
    }


    /**
     * 判断队列是否为空
     *
     * @return
     */
    public boolean isEmpty() {

        return rear == front;
    }

    /**
     * 添加数据到队列
     */
    public void addQueue(String data) {
        if (isFull()) {
            System.out.println("队列已经满了,不能加入数据");
            return;
        }
        //直接将rear加到后一个指针
        arr[rear] = data;
        //这里循环 取模 防止数组越界
        rear = (rear + 1) % maxSize;
    }

    /**
     * 获取队列的一个元素
     *
     * @return String 数据
     */
    public String getQueue() {
        if (isEmpty()) {
            throw new RuntimeException("队列已经没有数据了,不能获取数据");
        }
        //front 是指向队列的第一个元素
        String data = arr[front];

        //front 向后移动,取模 循环
        front = (front + 1) % maxSize;
        return data;
    }

    /**
     * 显示队列的所有数据
     */
    public void showQueue() {
        if (isEmpty()) {
            System.out.println("队列为空,没有数据!");
            return;
        }
        System.out.println("-------------------开始打印队列-------------------");
        //从front 开始遍历,遍历多少个元素
        for (int i = front; i < front + getValueCount(); i++) {
            System.out.printf("arr[%d]=%s\n", i % maxSize, arr[i % maxSize]);
        }


        for (String data : arr) {
            System.out.print(data + "   ");
        }
        System.out.println();
        System.out.println("-------------------结束打印队列-------------------");

    }

    /**
     * 显示队列的头部数据
     */
    public void showHeadQueue() {
        if (isEmpty()) {
            throw new RuntimeException("队列为空,没有头部数据显示!");
        }
        System.out.println("队列的头部元素是:" + arr[front]);
    }


    /**
     * 获取 档期那数组的 有效数据的个数
     *
     * @return
     */
    public int getValueCount() {
        return (rear - front + maxSize) % maxSize;
    }
}
CircleArrayQueueTest.java
package com.yg.datastructures.queue;

import java.util.Scanner;

/**
 * @Description: 数组模拟环形队列
 * @Author yg
 * @Date 2021-03-20 12:47
 */
public class CircleArrayQueueTest {
    public static void main(String[] args) {
        System.out.println("----------------程序开始----------------------");
        CircleArrayQueue circleArrayQueue = new CircleArrayQueue(5);
        //        arrayQueue.addQueue("yg");
//        arrayQueue.addQueue("fm");
//        arrayQueue.addQueue("lb");
//        arrayQueue.addQueue("was");
//        arrayQueue.addQueue("bjy");
//        arrayQueue.showQueue();
//        arrayQueue.showHeadQueue();
//        String queue = arrayQueue.getQueue();
//        System.out.println("获取到队列的一个元素 = " + queue);
//        arrayQueue.showQueue();
//        arrayQueue.showHeadQueue();
//
        Scanner scanner = new Scanner(System.in);
        boolean loop = true;
        while (loop) {
            System.out.println("---------------控制台----------------");
            System.out.println("s(show) : 展示队列");
            System.out.println("e(exit) : 退出队列");
            System.out.println("a(add) : 添加队列");
            System.out.println("g(get) : 获取队列头部元素");
            System.out.println("h(head) : 展示队列头部元素");
            System.out.println("---------------控制台----------------");

            String input = scanner.next();

            switch (input) {
                case "s":
                    circleArrayQueue.showQueue();
                    break;
                case "e":
                    scanner.close();
                    loop = false;
                    break;
                case "a":
                    System.out.println("请输入添加的元素:");
                    String next = scanner.next();
                    circleArrayQueue.addQueue(next);
                    break;
                case "h":
                    try {
                        circleArrayQueue.showHeadQueue();
                    } catch (Exception e) {
                        System.out.println(e.getMessage());
                    }
                    break;
                case "g":
                    try {
                        String queue = circleArrayQueue.getQueue();
                        System.out.println("头部元素 =" + queue);
                    } catch (Exception e) {
                        System.out.println(e.getMessage());
                    }
                    break;
                default:
                    break;
            }
        }
        System.out.println("----------------程序结束----------------------");
    }
}

输出结果:

D:\jdk1.8.0_251\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:7390,suspend=y,server=n -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2020.3\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "D:\jdk1.8.0_251\jre\lib\charsets.jar;D:\jdk1.8.0_251\jre\lib\deploy.jar;D:\jdk1.8.0_251\jre\lib\ext\access-bridge-64.jar;D:\jdk1.8.0_251\jre\lib\ext\cldrdata.jar;D:\jdk1.8.0_251\jre\lib\ext\dnsns.jar;D:\jdk1.8.0_251\jre\lib\ext\jaccess.jar;D:\jdk1.8.0_251\jre\lib\ext\jfxrt.jar;D:\jdk1.8.0_251\jre\lib\ext\localedata.jar;D:\jdk1.8.0_251\jre\lib\ext\nashorn.jar;D:\jdk1.8.0_251\jre\lib\ext\sunec.jar;D:\jdk1.8.0_251\jre\lib\ext\sunjce_provider.jar;D:\jdk1.8.0_251\jre\lib\ext\sunmscapi.jar;D:\jdk1.8.0_251\jre\lib\ext\sunpkcs11.jar;D:\jdk1.8.0_251\jre\lib\ext\zipfs.jar;D:\jdk1.8.0_251\jre\lib\javaws.jar;D:\jdk1.8.0_251\jre\lib\jce.jar;D:\jdk1.8.0_251\jre\lib\jfr.jar;D:\jdk1.8.0_251\jre\lib\jfxswt.jar;D:\jdk1.8.0_251\jre\lib\jsse.jar;D:\jdk1.8.0_251\jre\lib\management-agent.jar;D:\jdk1.8.0_251\jre\lib\plugin.jar;D:\jdk1.8.0_251\jre\lib\resources.jar;D:\jdk1.8.0_251\jre\lib\rt.jar;D:\IdeaProjects\datastructures\target\classes;D:\RepMaven\org\springframework\boot\spring-boot-starter-web\2.4.4\spring-boot-starter-web-2.4.4.jar;D:\RepMaven\org\springframework\boot\spring-boot-starter\2.4.4\spring-boot-starter-2.4.4.jar;D:\RepMaven\org\springframework\boot\spring-boot\2.4.4\spring-boot-2.4.4.jar;D:\RepMaven\org\springframework\boot\spring-boot-autoconfigure\2.4.4\spring-boot-autoconfigure-2.4.4.jar;D:\RepMaven\org\springframework\boot\spring-boot-starter-logging\2.4.4\spring-boot-starter-logging-2.4.4.jar;D:\RepMaven\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\RepMaven\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\RepMaven\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;D:\RepMaven\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;D:\RepMaven\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;D:\RepMaven\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\RepMaven\org\yaml\snakeyaml\1.27\snakeyaml-1.27.jar;D:\RepMaven\org\springframework\boot\spring-boot-starter-json\2.4.4\spring-boot-starter-json-2.4.4.jar;D:\RepMaven\com\fasterxml\jackson\core\jackson-databind\2.11.4\jackson-databind-2.11.4.jar;D:\RepMaven\com\fasterxml\jackson\core\jackson-annotations\2.11.4\jackson-annotations-2.11.4.jar;D:\RepMaven\com\fasterxml\jackson\core\jackson-core\2.11.4\jackson-core-2.11.4.jar;D:\RepMaven\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.11.4\jackson-datatype-jdk8-2.11.4.jar;D:\RepMaven\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.11.4\jackson-datatype-jsr310-2.11.4.jar;D:\RepMaven\com\fasterxml\jackson\module\jackson-module-parameter-names\2.11.4\jackson-module-parameter-names-2.11.4.jar;D:\RepMaven\org\springframework\boot\spring-boot-starter-tomcat\2.4.4\spring-boot-starter-tomcat-2.4.4.jar;D:\RepMaven\org\apache\tomcat\embed\tomcat-embed-core\9.0.44\tomcat-embed-core-9.0.44.jar;D:\RepMaven\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;D:\RepMaven\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.44\tomcat-embed-websocket-9.0.44.jar;D:\RepMaven\org\springframework\spring-web\5.3.5\spring-web-5.3.5.jar;D:\RepMaven\org\springframework\spring-beans\5.3.5\spring-beans-5.3.5.jar;D:\RepMaven\org\springframework\spring-webmvc\5.3.5\spring-webmvc-5.3.5.jar;D:\RepMaven\org\springframework\spring-aop\5.3.5\spring-aop-5.3.5.jar;D:\RepMaven\org\springframework\spring-context\5.3.5\spring-context-5.3.5.jar;D:\RepMaven\org\springframework\spring-expression\5.3.5\spring-expression-5.3.5.jar;D:\RepMaven\mysql\mysql-connector-java\8.0.23\mysql-connector-java-8.0.23.jar;D:\RepMaven\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;D:\RepMaven\org\springframework\spring-core\5.3.5\spring-core-5.3.5.jar;D:\RepMaven\org\springframework\spring-jcl\5.3.5\spring-jcl-5.3.5.jar;D:\JetBrains\IntelliJ IDEA 2020.3\lib\idea_rt.jar" com.yg.datastructures.queue.CircleArrayQueueTest
Connected to the target VM, address: '127.0.0.1:7390', transport: 'socket'
----------------程序开始----------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
libai
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
dengchao
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
konglinghui
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
ss
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
dd
队列已经满了,不能加入数据
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=libai
arr[1]=dengchao
arr[2]=konglinghui
arr[3]=ss
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   null   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=libai
arr[1]=dengchao
arr[2]=konglinghui
arr[3]=ss
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   null   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=libai
arr[1]=dengchao
arr[2]=konglinghui
arr[3]=ss
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   null   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:libai
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:libai
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:libai
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=libai
arr[1]=dengchao
arr[2]=konglinghui
arr[3]=ss
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   null   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
g
头部元素 =libai
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
haha
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[1]=dengchao
arr[2]=konglinghui
arr[3]=ss
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   null   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
baijiyu
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[1]=dengchao
arr[2]=konglinghui
arr[3]=ss
arr[4]=baijiyu
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[1]=dengchao
arr[2]=konglinghui
arr[3]=ss
arr[4]=baijiyu
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:dengchao
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:dengchao
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
g
头部元素 =dengchao
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:konglinghui
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[2]=konglinghui
arr[3]=ss
arr[4]=baijiyu
-------------------开始打印队列-------------------
libai   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
nihaowode
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[2]=konglinghui
arr[3]=ss
arr[4]=baijiyu
arr[0]=nihaowode
-------------------开始打印队列-------------------
nihaowode   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[2]=konglinghui
arr[3]=ss
arr[4]=baijiyu
arr[0]=nihaowode
-------------------开始打印队列-------------------
nihaowode   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:konglinghui
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
ok,你很棒
队列已经满了,不能加入数据
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[2]=konglinghui
arr[3]=ss
arr[4]=baijiyu
arr[0]=nihaowode
-------------------开始打印队列-------------------
nihaowode   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
g
头部元素 =konglinghui
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
g
头部元素 =ss
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
g
头部元素 =baijiyu
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
h
队列的头部元素是:nihaowode
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=nihaowode
-------------------开始打印队列-------------------
nihaowode   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=nihaowode
-------------------开始打印队列-------------------
nihaowode   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=nihaowode
-------------------开始打印队列-------------------
nihaowode   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=nihaowode
-------------------开始打印队列-------------------
nihaowode   dengchao   konglinghui   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
展示
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
a
请输入添加的元素:
假日
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=nihaowode
arr[1]=展示
arr[2]=假日
-------------------开始打印队列-------------------
nihaowode   展示   假日   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------
s
arr[0]=nihaowode
arr[1]=展示
arr[2]=假日
-------------------开始打印队列-------------------
nihaowode   展示   假日   ss   baijiyu   
-------------------结束打印队列-------------------
---------------控制台----------------
s(show) : 展示队列
e(exit) : 退出队列
a(add) : 添加队列
g(get) : 获取队列头部元素
h(head) : 展示队列头部元素
---------------控制台----------------

e
----------------程序结束----------------------
Disconnected from the target VM, address: '127.0.0.1:7390', transport: 'socket'

Process finished with exit code 0

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值