Java如何实现数据结构的队列操作?

更新于
2026-10-04 12:24:52
2阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计248个文字,预计阅读时间需要1分钟。

javapackage queue;

public class MyQueue { private long[] arr; private int length; private int front=0; private int end=-1;

/** * 初始化 */ public MyQueue(int size) { arr=new long[size]; length=size; }

/** * 入队 */ public boolean offer(long item) { if (end + 1==length) { return false; // 队列已满 } end++; arr[end]=item; return true; }

/** * 出队 */ public long poll() { if (front > end) { return -1; // 队列为空 } long item=arr[front]; front++; return item; }

/** * 查看队首元素 */ public long peek() { if (front > end) { return -1; // 队列为空 } return arr[front]; }}

通过java实现较为简单的通用的队列数据结构

package queue; public class MyQueue { private long[] arr; private int length; //有效数据大小 private int front = 0; //队头,取出数据 private int end = -1; //队尾 /** * 初始化数组长度 */ public MyQueue(){ arr = new long[10]; } /** * 自定义初始化数组长度 */ public MyQueue(int maxLength){ arr = new long[maxLength]; } /** * 插入数据,从队尾插入 */ public void insert(long value){ arr[++end] = value; length++; } /** * 移出数据,从队头移出 */ public long remove(){ length--; return arr[front++]; } /** *查看队头数据 */ public long peek(){ return arr[front]; } /** * 是否为空 */ public boolean isEmpty(){ return length == 0; } /** * 是否满了 */ public boolean isFull(){ return length == arr.length; } }

本文共计248个文字,预计阅读时间需要1分钟。

javapackage queue;

public class MyQueue { private long[] arr; private int length; private int front=0; private int end=-1;

/** * 初始化 */ public MyQueue(int size) { arr=new long[size]; length=size; }

/** * 入队 */ public boolean offer(long item) { if (end + 1==length) { return false; // 队列已满 } end++; arr[end]=item; return true; }

/** * 出队 */ public long poll() { if (front > end) { return -1; // 队列为空 } long item=arr[front]; front++; return item; }

/** * 查看队首元素 */ public long peek() { if (front > end) { return -1; // 队列为空 } return arr[front]; }}

通过java实现较为简单的通用的队列数据结构

package queue; public class MyQueue { private long[] arr; private int length; //有效数据大小 private int front = 0; //队头,取出数据 private int end = -1; //队尾 /** * 初始化数组长度 */ public MyQueue(){ arr = new long[10]; } /** * 自定义初始化数组长度 */ public MyQueue(int maxLength){ arr = new long[maxLength]; } /** * 插入数据,从队尾插入 */ public void insert(long value){ arr[++end] = value; length++; } /** * 移出数据,从队头移出 */ public long remove(){ length--; return arr[front++]; } /** *查看队头数据 */ public long peek(){ return arr[front]; } /** * 是否为空 */ public boolean isEmpty(){ return length == 0; } /** * 是否满了 */ public boolean isFull(){ return length == arr.length; } }