public class Queue {
private long[] queue;
private int maxSize;
private int front;
private int rear;
private int nItem;
public Queue(int maxSize) {
this.queue = new long[maxSize];
this.maxSize = maxSize;
this.front = 0;
this.rear = -1;
nItem = 0;
}
public void insert(long item){
if(rear==maxSize-1){
rear = -1;
}
queue[++rear] = item;
nItem++;
}
public long remove(){
nItem--;
long reItem = queue[front++];
if(front==maxSize){
front = 0;
}
return reItem;
}
public long peek(){
return queue[front];
}
public boolean isFull(){
return nItem==this.maxSize;
}
public boolean isEmpty(){
return nItem==0;
}
public int getLength(){
return nItem;
}
public static void main(String[] args){
Queue queue = new Queue(5);
queue.insert(0);
queue.insert(1);
queue.insert(2);
queue.insert(3);
System.out.println(queue.remove());
System.out.println(queue.remove());
queue.insert(4);
queue.insert(5);
queue.insert(6);
while(!queue.isEmpty()){
System.out.println(queue.remove());
}
queue.insert(7);
queue.insert(8);
queue.insert(9);
queue.insert(10);
while(!queue.isEmpty()){
System.out.println(queue.remove());
}
}
}
private long[] queue;
private int maxSize;
private int front;
private int rear;
private int nItem;
public Queue(int maxSize) {
this.queue = new long[maxSize];
this.maxSize = maxSize;
this.front = 0;
this.rear = -1;
nItem = 0;
}
public void insert(long item){
if(rear==maxSize-1){
rear = -1;
}
queue[++rear] = item;
nItem++;
}
public long remove(){
nItem--;
long reItem = queue[front++];
if(front==maxSize){
front = 0;
}
return reItem;
}
public long peek(){
return queue[front];
}
public boolean isFull(){
return nItem==this.maxSize;
}
public boolean isEmpty(){
return nItem==0;
}
public int getLength(){
return nItem;
}
public static void main(String[] args){
Queue queue = new Queue(5);
queue.insert(0);
queue.insert(1);
queue.insert(2);
queue.insert(3);
System.out.println(queue.remove());
System.out.println(queue.remove());
queue.insert(4);
queue.insert(5);
queue.insert(6);
while(!queue.isEmpty()){
System.out.println(queue.remove());
}
queue.insert(7);
queue.insert(8);
queue.insert(9);
queue.insert(10);
while(!queue.isEmpty()){
System.out.println(queue.remove());
}
}
}
发表评论
文章已被作者锁定,不允许评论。
-
oracle 的 sequence
2010-06-24 16:57 681-- Create sequence create sequ ... -
简单的log4j.propertier配置
2010-01-27 16:46 846简单的log4j.properties配置,不详细解释了 使用 ... -
IO操作_读取Excel
2010-01-27 16:37 836import java.io.FileInputStream; ... -
IO操作_文件读取
2010-01-27 16:25 683import java.io.BufferedReader; ... -
栈学习简单小例子
2010-01-06 22:43 864public class ArrayStrack { pri ... -
对象排序简单小例子
2009-12-30 18:24 715public class ObjectSort { Pers ... -
简单的排序
2009-12-29 14:59 742public class Sort { public sta ... -
简单的页面静态化
2009-12-29 14:26 641import java.io.BufferedReader; ... -
CSS基本语法(收藏)
2009-12-29 14:22 6891. 基本语法 CSS的定义是 ... -
配置weblogic.xml文件获得相关的servlet文件
2009-12-29 14:13 1800JSP的运行时,先把JSP翻译成对应的Servlet,再把Se ... -
eclipse启动参数设置
2009-12-29 13:33 1022-vm D:\Tools\JDK\jdk1.6.0_05\bi ... -
增加删除行
2009-12-29 13:25 460//被操作模板 <table id="hidd ... -
Filter学习
2009-12-29 12:29 530EncodeFilter,实现类如下 import java ... -
Js实用小技巧(摘抄)
2009-12-29 12:01 6881.document.write(""); ... -
常用的几个js小方法
2009-07-27 11:03 5641.这个是页面输入框的trim操作,很简单实用 String. ...
相关推荐
本教程将通过一些小例子来深入理解这两种数据结构及其在Java中的实现。 栈是一种后进先出(LIFO, Last In First Out)的数据结构,类似于现实生活中的堆叠物品,最后放入的物品最先被取出。在Java中,我们可以使用...
在消息队列(Message Queue,简称MQ)的学习过程中,理解和掌握本地队列与远程队列的使用是至关重要的。本地队列指的是在同一系统上创建并管理的消息队列,而远程队列则是指跨系统的消息传递。本文将通过具体的实例...
在计算机科学中,数据结构是组织、存储和处理数据的方式,它是算法设计的基础。栈和队列是两种最基本且常用的数据结构,它们在程序设计中扮演着重要角色。...通过学习和实践这些例子,你将能够更好地应对各种编程挑战。
在这个例子中,可能意味着队列可以自动调整其容量来适应不断变化的任务量。这有助于防止资源浪费,同时也能够应对突发的大规模任务提交。 **源码分析**: 在压缩包文件"queue"中,可能包含了实现动态队列和多线程的...
总的来说,栈和队列作为基础数据结构,它们的理解和熟练使用对于学习更高级的数据结构和算法至关重要。在实际编程中,无论是解决算法问题还是优化系统设计,都能找到栈和队列的身影。掌握这两种数据结构的特性及其...
通过这个“msgque”实例,我们可以学习到如何在实际应用中使用消息队列进行进程间的通信,这对于理解和实现多进程系统中的复杂逻辑非常有帮助。同时,了解和掌握Makefile的编写也是软件开发过程中的必备技能,它可以...
通过学习和应用IBM官方提供的工具和例子,你可以提升系统的健壮性,减少因消息处理问题而导致的业务中断。同时,这也将帮助你更好地理解和掌握MQ的高级特性和运维技巧,进一步提升你在IT行业的专业能力。
在本文中,我们将深入探讨C语言中的队列数据结构,以标题“C例子:队列(顺序存储方式)”为例,结合描述中的博客配套程序,分析如何实现一个基于数组的顺序队列。队列是一种先进先出(First In First Out, FIFO)的...
通过学习这个简单的例子,你应该能够理解如何在.NET环境中创建、发送和接收MSMQ消息,为进一步探索MSMQ的高级特性和应用场景打下基础。记住,实践是最好的老师,动手尝试编写和运行代码将加深你对微软队列的理解。
本压缩包“Bags(栈和队列模版,队列入栈例子)”提供了一些关于这些数据结构的模板和实例,特别关注了队列的入栈操作。接下来,我们将详细探讨栈、队列以及队列入栈的相关知识点。 1. 栈(Stack): 栈是一种线性...
在这个“VC++自己写的先进先出队列的例子_QueueDemo”中,开发者利用VC++2008这一经典的微软开发环境,展示了如何用C++语言实现这一数据结构。这个程序对于理解队列的工作原理以及在处理大量等待处理的数据时的应用...
在C#编程语言中,队列是一种非常重要的数据结构,...通过这个实例,开发者可以学习到如何在C#中有效地使用队列来处理并发任务,以及如何在多线程环境中实现高效的线程通信。这对于提升程序的并发性和可扩展性至关重要。
在本文的例子里,尽管LED灯闪烁的次数顺序可以看作是一种信号量,但消息队列能够传递更多有用的信息,这是计数信号量所不具备的。 ### 实践与学习 在实际操作STM32CubeMX和FreeRTOS时,需要对项目中每个步骤的配置...
在这个"java常用例子(队列,排序,列表,时间,文件操作)40例子"的资源中,初学者可以深入理解Java的核心概念和常用操作。下面我们将详细探讨这些主题。 首先,让我们从队列开始。在计算机科学中,队列是一种先进先出...
《深入理解Thinkphp5:基于实战的小例子解析》 Thinkphp5是一款国内广泛使用的开源PHP框架,它以其高效、简洁的代码风格和强大的功能深受开发者喜爱。本篇将通过一个实际的小例子,深入剖析Thinkphp5的核心概念和...
通过学习和理解这些源代码,你可以深入理解栈和队列的工作原理,提高解决实际问题的能力,并为面试和项目开发积累宝贵的经验。同时,这些例子还可以帮助你熟悉Java的容器类库,比如ArrayList、LinkedList和Queue接口...
通过这个C语言实现的顺序队列,我们可以学习到如何在实际编程中构建和操作数据结构,理解队列的基本操作以及它们在内存中的表示方式。同时,这个例子也展示了如何使用结构体、动态内存分配、条件判断以及循环来实现...
这个例子中的“入队列出队列练习.vi”就是一个交互式的实例,通过可视化的方式演示了如何添加元素到队列(入队)以及如何取出元素(出队)。 首先,我们需要创建一个队列。在LabVIEW中,可以使用“创建队列”函数来...
在IT领域,数据结构是编程基础中的重要组成部分,而队列是一种非常基本且常用的数据结构。本示例将深入探讨如何使用C语言...这个实例是学习C语言数据结构和算法的好起点,通过实践理解队列的工作原理和链式存储的优势。
通过学习和分析这些例子,你可以更好地理解如何在实际项目中应用队列实现数据共享。 总之,LabVIEW中的队列是一种强大的工具,能够帮助开发者解决数据传递和共享的问题,尤其是在多线程编程中。理解和熟练掌握队列...