写点什么

数据结构——队列

作者:秋名山码民
  • 2022 年 8 月 12 日
    陕西
  • 本文字数:763 字

    阅读完需:约 3 分钟

定义

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


特性:先进先出

队列中的名词


  • 队头(Front):允许删除的一端,又称队首。

  • 队尾(Rear):允许插入的一端。

  • 空队列:不包含任何元素的空表。

  • 入队,若队列 Q 未满,将 x 加入,使之成为新的队尾

  • 出队,若队列 Q 非空,删除队头元素,并用 x 返回。

队列的实现

数组

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; } }
复制代码

问题

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

发布于: 刚刚阅读数: 2
用户头像

卷不死,就往…… 2021.10.19 加入

2019NOIP退役成员,华为云享专家,阿里云专家博主,csdn博主,努力进行算法分享,有问题欢迎私聊

评论

发布
暂无评论
数据结构——队列_8月月更_秋名山码民_InfoQ写作社区