Java如何实现数据结构的队列操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计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; } }

