队列的使用和实现

本文介绍了队列的基本概念,包括其先进先出的特性。详细讲述了在Java中使用队列的方式,以及如何利用链表和数组实现队列。此外,还探讨了判断队列满和空的方法,并提到了如何通过两个队列或栈来实现栈的功能。
摘要由CSDN通过智能技术生成

一、什么是队列?

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out)
入队列:进行插入操作的一端称为队尾(Tail/Rear)
出队列:进行删除操作的一端称为队头(Head/Front)
在这里插入图片描述
在这里插入图片描述

二、队列的使用

1.java中的基本使用

代码如下(示例):

public static void main(String[] args) {
   
        System.out.println("普通队列的使用:");
        Queue<Integer> queue=new LinkedList<>();
        //添加元素
        queue.add(2);
        queue.add(4);
        queue.add(5);
        queue.offer(4);
        queue.offer(9);
        queue.offer(23);
        System.out.print("队列的大小:");
        System.out.println(queue.size());
        System.out.print("获取队头元素:");
        System.out.print(queue.peek()+" ");
        System.out.println(queue.element());
        System.out.print("弹出队列:");
        System.out.print(queue.poll()+" ");
        System.out.println(queue.remove());
        System.out.print("队列的大小:");
        System.out.println(queue.size());
        System.out.println("======================");
        System.out.print("双端队列的使用:");
        Deque<Integer> deque=new LinkedList<>();
        //添加元素,队头入队
        deque.addFirst(4);
        deque.addFirst(5);
        deque.addFirst(87);
        deque.offerFirst(23);
        //队尾入队
        deque.addLast(56);
        deque.add(7);//add也可以使用
        deque.offerLast(12);
        deque.offer(66);//也可以
        System.out.print("双端队列的大小"+" ");
        System.out.println(deque.size());

        System.out.print("获取队头元素:");
        System.out.print(deque.getFirst()+" ");
        System.out.print(deque.peekFirst()+" ");
        System.out.println(deque.peek());
        System.out.print("获取队尾元素:");
        System.out.print(deque.getLast()+" ");
        System.out.pr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值