`

一个简单的队列

阅读更多
public class MyQueue {
	private long[] arr;

	private int front;

	private int end;
	// 有效数据的大小
	private int elements;

	public MyQueue() {
		arr = new long[10];
		elements = 0;
		front = 0;
		end = -1;
	}

	public MyQueue(int maxsize) {
		arr = new long[maxsize];
		elements = 0;
		front = 0;
		end = -1;
	}

	// 添加数据
	public void insert(int value) {
		if (end == arr.length - 1) {
			end = -1;
		}
		arr[++end] = value;
		elements++;
	}

	// 删除数据
	public long remove() {
		long value = arr[front++];
		if (front == arr.length - 1) {
			front = 0;
		}
		elements--;
		return value;
	}

	// 查看数据
	public long peek() {
		return arr[front];
	}

	// 判断是否为空
	public boolean isEmpty() {
		return elements == 0;
	}

	// 判断是否为满
	public boolean isFull() {
		return elements == arr.length;
	}

	public static void main(String[] args) {
		MyQueue myQueue = new MyQueue();
		myQueue.insert(23);
		myQueue.insert(45);
		myQueue.insert(13);
		myQueue.insert(1);
		System.out.println(myQueue.isFull());
		System.out.println(myQueue.isEmpty());
		System.out.println(myQueue.peek());
		while (!myQueue.isEmpty()) {
			myQueue.remove();
		}

		myQueue.insert(23);
	}
}

分享到:
评论

相关推荐

    linux 一个简单队列实例

    linux系统下实现一个简单的队列实例 此实例仅仅只实现了基本的出队 入队

    最简单的队列

    这是我用c语言写的程序,我的其他资源都是免费的,是对于c语言初学者的帮助比较大的,其中有数据结构,window编程。我也在学c语言,每当我写完一个程序,我都会免费发上来。 这个是队列的最简单的应用

    用Redis做一个简单的消息队列

    用Redis做的一个简单的消息队列

    用消息队列实现的简单聊天程序

    用消息队列实现的简单聊天程序,经行client与sever之间的交互。

    一个简单的车站购票模拟队列—控制台—C++源码

    一个简单的车站购票模拟队列—控制台—C++源码,模拟车站窗口人的进进出出的队列变化的过程

    C实现的一个简单的循环消息队列

    用C实现的一个简单的消息队列

    用栈逆置队列

    数据结构 简单用栈逆置队列 /*队列结构*/ typedef struct { DataType data[MAXSIZE]; int front,rear; }Sequeue; /*栈结构*/ typedef struct { DataType data[MAXSIZE]; int top; }Seqstack;

    简单的C语言循环队列

    用C语言写的一个简单的循环队列,数据结构实验。

    使用phpfpm作为一个简单的内置异步队列

    使用php-fpm作为一个简单的内置异步队列。 基于可互操作的队列接口Queue Interop。

    优先队列-双端堆

    作业题目:编写一个优先队列,完成 查找,删除,插入 操作。且每个操作的时间复杂度要在(logn)内。 其实很早前就拿到这个题目了,只是一直没定下用那种数据结构做,在图书馆借了本数据结构的书,认真的看了,小...

    易语言源码易语言简单队列处理源码.rar

    易语言源码易语言简单队列处理源码.rar 易语言源码易语言简单队列处理源码.rar 易语言源码易语言简单队列处理源码.rar 易语言源码易语言简单队列处理源码.rar 易语言源码易语言简单队列处理源码.rar 易语言源码...

    银行业务模拟,队列操作

    注意,在此检查过程中,一旦银行资金总额少于或等于刚才第一个队列中最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止被盗(因为此时已不可能还有能满足者)转而继续接待第...

    httpsqs_client --轻量级简单队列服务HTTPSQS

     ● 可以实时查看队列状态(入队列位置、出队列位置、未读队列数量、最大队列数量)。  ● 可以查看指定队列ID(队列点)的内容,包括未出、已出的队列内容。  ● 查看队列内容时,支持多字符集编码。  ● 源...

    Python-一个由python写简单和容易使用的消息队列

    一个由python写简单和容易使用的消息队列

    易语言简单队列处理

    易语言简单队列处理源码,简单队列处理,初始化启动,AddrPacketQrList,DelsPacketQrList,ProcessorPacketQ,提交处理事件,设置定时器,销毁定时器,取变量地址_字节集,ASM_写整数,ASM_写短整数,ASM_读短整数,ASM_写字节,...

    简单的消息队列Dome

    一个简单易懂的消息队列Dome,适用于刚接触消息队列人员

    c语言简单队列

    //从头指针删除一个队列中的数据 void DeleteData(int **Front, int **Rear) { if (*Front == *Rear) { //头指针尾指针重合,队列空,不能删除,返回 puts("Queue Empty!\n"); return; } else if (*Front - ...

    一个简单的队列类和栈类

    deque 是一种双端队列,可以在两端高效地进行插入和删除操作,因此非常适合实现队列的入队和出队操作。队列类提供了以下主要方法: - `enqueue(const T& element)`: 将元素入队,即将其添加到队尾。 - `isEmpty()`: ...

    进程与消息队列进程与消息队列简单例子

    进程与消息队列进程与消息队列简单例进程与消息队列进程与消息队列简单例进程与消息队列进程与消息队列简单例进程与消息队列进程与消息队列简单例进程与消息队列进程与消息队列简单例

    栈和队列的基本操作实现及其应用实验报告

    栈和队列的基本操作实验报告 一、实验目的 ...题目:试写一个算法,判断依次读入的一个以@为结束符的字符序列,是否为回文。所谓“回文“是指正向读和反向读都一样的一字符串,如“321123”或“ableelba”。

Global site tag (gtag.js) - Google Analytics