`
liushibo
  • 浏览: 43892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 队列实现

阅读更多
java 队列实现


队列其实 所指生活中排队的现象,去商场购物,付款时需要排队, 买饭时需要排队, 好多事情都是需要排队, 排在第一位的则先处理,结束后, 后面的人都像前移动一位,在开发中也有好多这样的事情需要处理,如文件的下载,短信的发送功能, 等这些都是需要队列方式实现。好了, 废话不多说, 详情见下面代码!



package com.fanzhang;



class Queue   //队列类
    {
    private int maxSize; //队列长度,由构造函数初始化
    private long[] queArray; // 队列
    private int front; //队头
    private int rear; //队尾
    private int nItems;  //元素的个数
//--------------------------------------------------------------
    public Queue(int s)           // 构造函数
       {
       maxSize = s;
       queArray = new long[maxSize];
       front = 0;
       rear = -1;
       nItems = 0;
       }
//--------------------------------------------------------------
    public void insert(long j)    // 进队列
       {
       if(rear == maxSize-1)          // 处理循环
          rear = -1;
       queArray[++rear] = j;          // 队尾指针加1,把值j加入队尾
       nItems++;                   
       }
//--------------------------------------------------------------
    public long remove()          // 取得队列的队头元素。
       {
       long temp = queArray[front++]; // 取值和修改队头指针
       if(front == maxSize)            // 处理循环
          front = 0;
       nItems--;                     
       return temp;
       }
//--------------------------------------------------------------
    public long peekFront()       // 取得队列的队头元素。该运算与 remove()不同,后者要修改队头元素指针。
       {
       return queArray[front];
       }
//--------------------------------------------------------------
    public boolean isEmpty()     // 判队列是否为空。若为空返回一个真值,否则返回一个假值。
       {
       return (nItems==0);
       }
//--------------------------------------------------------------
    public boolean isFull()      // 判队列是否已满。若已满返回一个真值,否则返回一个假值。
       {
       return (nItems==maxSize);
       }
//--------------------------------------------------------------
    public int size()            // 返回队列的长度
       {
       return nItems;
       }
//--------------------------------------------------------------
    } 


public class IntegerQueue
{
public static void main(String[] args)
   {
Queue theQueue = new Queue(5);   // 队列有5个元素

   theQueue.insert(10);             // 添加4个元素
   theQueue.insert(20);
   theQueue.insert(30);
   theQueue.insert(40);

   theQueue.remove();               // 移除3个元素
   theQueue.remove();               // (10, 20, 30)
   theQueue.remove();

   theQueue.insert(50);             // 添加4个元素
   theQueue.insert(60);          
   theQueue.insert(70);
   theQueue.insert(80);
  

   while( !theQueue.isEmpty() )     // 遍历队列并移除所有元素
      {                           
      long n = theQueue.remove();   // (40, 50, 60, 70, 80)
      System.out.print(n);
      System.out.print(" ");
      }
   System.out.println("");
   } 
}



分享到:
评论

相关推荐

    java队列实现(顺序队列、链式队列、循环队列)

    在Java中,队列的实现主要有三种:顺序队列、链式队列和循环队列。下面我们将详细探讨这三种队列的实现方式。 1. **顺序队列**: 顺序队列通常是基于数组实现的。在Java中,我们可以使用ArrayList或LinkedList来...

    Java队列实现,数据结构

    在这个Java队列实现的数据结构作业练习中,我们将会探讨如何使用Java来创建一个简单的队列,并分析`Queue.java`和`Node.java`这两个文件可能包含的内容。 首先,`Queue.java`很可能是实现队列接口或类的文件。在...

    JAVA 队列 实现卡车运输过程模拟

    下面我们将详细讨论如何使用Java队列来实现这个模拟。 首先,我们可以创建一个`Truck`类,表示每辆卡车,包含卡车编号、装载状态、当前重量等属性。当卡车到达装煤设备时,它会被添加到一个装载队列中。Java中可以...

    java队列实现方法(顺序队列,链式队列,循环队列)

    Java 队列实现方法 Java 队列是一种常用的数据结构,用于实现先进先出(FIFO)或后进先出(LIFO)的操作。Java 中提供了多种实现队列的方法,包括顺序队列、链式队列和循环队列等。下面我们将详细介绍每种队列的...

    Java 队列实现原理及简单实现代码

    以下是一个简单的Java队列实现,使用数组作为底层数据结构: ```java package 栈和队列; public class Queue { private int maxSize; private long[] queArray; private int front; private int rear; ...

    java多线程模拟队列实现排队叫号

    在Java中,我们可以使用`java.util.Queue`接口及其实现类,如`LinkedList`或`ArrayDeque`来创建队列。 接下来,我们需要创建两个线程类:一个是`CustomerThread`,代表等待叫号的客户,另一个是`ServiceThread`,...

    java-Using-Array-for-Queue.zip_java队列实现

    首先,我们来看基于数组的队列实现。`ArrayQueue.java`文件很可能是这个实现的核心。在Java中,创建一个队列可以借助数组的特性,即头部插入元素,尾部删除元素。为了支持动态扩容,当队列满时,通常会创建一个新的...

    java队列实现

    本篇文章将深入探讨如何使用Java来实现队列,特别是应用于限制线程执行数量的任务调度。 首先,我们需要理解队列的基本概念。队列遵循先进先出(FIFO,First In First Out)原则,意味着最先放入队列的元素也将最先...

    java队列模拟实现

    Java队列模拟实现是一个典型的计算机科学中的数据结构应用,它主要涉及了Java编程语言和队列数据结构。在这个工程中,开发者已经创建了一个基于图形用户界面(GUI)的应用程序,用于演示和操作队列的各种功能。以下...

    java队列

    9. **源码分析**:博主可能深入分析了Java队列实现的源代码,帮助读者理解其内部工作原理。 总之,Java队列是并发编程和数据结构中的重要概念,理解和熟练运用各种队列类型能够提高程序的效率和并发性能。通过阅读...

    用数组实现的优先队列(JAVA)

    在Java中,我们可以使用数组来实现优先队列。这篇文章将探讨如何利用数组实现优先队列,并通过提供的`PriorityQ.java`文件来深入理解其实现原理。 1. **优先队列基本概念** 优先队列是一种数据结构,它维护了一个...

    用Java实现一个队列

    用Java实现一个队列

    JAVA 实现延迟队列的方法

    JAVA 实现延迟队列的方法 JAVA 实现延迟队列的方法是指在 JAVA 中实现延迟队列的方法,即在特定的延迟时间后触发某个事件,这种机制广泛应用于日常开发的场景中,例如用户登录之后5分钟给用户做分类推送、用户多少...

    Java消息队列的简单实现代码

    Java消息队列的简单实现代码 Java 消息队列是一种异步处理机制,主要目的是减少请求响应时间和解耦。消息队列的应用场景非常广泛,例如在用户注册时,服务端收到用户的注册请求后,可以将其他操作放入消息队列中,...

    Java实现的线程池、消息队列功能

    尽管描述部分为空,但从提供的文件名我们可以推测,`CodeReader.java`和`SourcePathManager.java`可能包含了读取和管理代码路径的逻辑,而`CodeReader`可能是用于解析和理解Java源码中线程池和消息队列实现的部分。...

    java队列源码

    - Java 提供了多种队列实现,如 `LinkedList`、`ArrayDeque` 和并发类 `ConcurrentLinkedQueue`、`LinkedBlockingQueue` 等。其中,`ConcurrentLinkedQueue` 是一个非阻塞的线程安全队列,而 `LinkedBlockingQueue`...

    java利用delayedQueue实现本地的延迟队列

    Java 利用 DelayedQueue 实现本地的延迟队列 DelayedQueue 是 Java 中的一种特殊的阻塞队列,它用于存放实现了 Delayed 接口的对象。这种队列是有序的,即队头对象的延迟到期时间最长。 DelayedQueue 能够满足我们...

    优先队列算法实现(Java)

    3. **自定义优先队列实现** - 自定义优先队列可能涉及到堆的实现,例如最小堆或最大堆,或者使用其他数据结构如平衡搜索树(AVL、红黑树等)。 - 需要实现插入、删除、查找和更新等操作,同时确保操作的时间复杂度...

    用java实现的队列类

    java2里面没有提供标准类对队列的支持,我就编写了一个用java实现的队列类。可以供参考。

Global site tag (gtag.js) - Google Analytics