前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据结构——队列

数据结构——队列

作者头像
秋名山码神
发布2022-12-13 15:12:24
1670
发布2022-12-13 15:12:24
举报
文章被收录于专栏:码神随笔

定义

队列(Queue)。队列简称队。是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。其操作特性为先进先出(First In First Out,FIFO),并且只允许在队尾进,队头出

特性:先进先出

队列中的名词

在这里插入图片描述
在这里插入图片描述
  • 队头(Front):允许删除的一端,又称队首。
  • 队尾(Rear):允许插入的一端。
  • 空队列:不包含任何元素的空表。
  • 入队,若队列Q未满,将x加入,使之成为新的队尾
  • 出队,若队列Q非空,删除队头元素,并用x返回。

队列的实现

数组

代码语言:javascript
复制
package Main;

/**
* 1.使用数组实现队列功能,使用int数组保存数据特点:先进先出,后进后出
*/

public class QueueTest1 {  
    public static void main(String[] args){  

        //测试队列
        System.out.println("测试队列:");
        Queue queue = new Queue();  
        queue.in(1);  
        queue.in(2);  
        queue.in(3);  
        System.out.println(queue.out()); 
        System.out.println(queue.out()); 
        queue.in(4);  
        System.out.println(queue.out());  
        System.out.println(queue.out());  
        queue.in(5);  
        System.out.println(queue.out()); 

    }  
}  

//使用数组定义一个队列
class Queue {  

    int[] a = new int[5];  
    int i = 1; //数组下标

    //入队
    public void in(int m){  
       a[i++] = m;
    } 

    //出队
    public int out(){  
       int index = 0;  
       int temp = a[1];  
       for(int j=1;j<i;j++){  
         a[j-1] = a[j];  
         index++;  
       }  
       i = index;  
       return temp;  
    }  
} 

问题

那么经过昨天的栈和今天的队列,你能否用俩个栈来实现一个队列?

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
  • 队列中的名词
  • 队列的实现
    • 数组
    • 问题
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档