You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java自定义队列如何实现元素从最新插入到最早插入逆序输出

解决方法

你只需要修改Queue类中的displayall()方法即可,无需调整入队、出队的原有逻辑。

原理说明

你当前的队列实现中,数组下标越小的位置存储的是插入时间越早的学生:

  • rear下标始终指向最后插入(最新)的学生
  • front下标始终指向最先插入(最旧)的学生
    只要从rear倒序遍历到front,就能实现从新到旧的输出要求,同时还能解决原方法遍历整个数组、队列没满时输出空内容的问题。

修改后的代码

public void displayall() {
    if(isEmpty()) {
        System.out.println("Queue is Empty.No Students to Display");
        return;
    }
    // 从最新插入的位置倒序遍历到最早插入的位置
    for(int i = rear; i >= front; i--) {
        System.out.println("Name = " + username[i]);
    }
}

效果验证

当你依次输入a、b、c后,队列数组内容为["a","b","c"],此时front=0、rear=2,遍历顺序为i=2、1、0,输出顺序为c、b、a,和你预期的结果完全一致。

内容的提问来源于stack exchange,提问作者pasan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:24:02