数据结构3:队列与栈专题
来源:互联网 发布:苹果下载软件不信任 编辑:程序博客网 时间:2024/04/26 05:39
循环队列实现类
package ch03;/* * 列队类 */public class MyCycleQueue { //底层使用数组 private long[] arr; //有效数据的大小 private int elements; //队头 private int front; //队尾 private int end; /** * 默认构造方法 */ public MyCycleQueue() { arr = new long[10]; elements = 0; front = 0; end = -1; } /** * 带参数的构造方法,参数为数组的大小 */ public MyCycleQueue(int maxsize) { arr = new long[maxsize]; elements = 0; front = 0; end = -1; } /** * 添加数据,从队尾插入 */ public void insert(long value) { if(end == arr.length - 1) { end = -1; } arr[++end] = value; elements++; } /** * 删除数据,从队头删除 */ public long remove() { long value = arr[front++]; if(front == arr.length) { front = 0; } elements--; return value; } /** * 查看数据,从队头查看 */ public long peek() { return arr[front]; } /** * 判断是否为空 */ public boolean isEmpty() { return elements == 0; } /** * 判断是否满了 */ public boolean isFull() { return elements == arr.length; }}
队列实现类
package ch03;/* * 列队类 */public class MyQueue { //底层使用数组 private long[] arr; //有效数据的大小 private int elements; //队头 private int front; //队尾 private int end; /** * 默认构造方法 */ 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(long value) { arr[++end] = value; elements++; } /** * 删除数据,从队头删除 */ public long remove() { elements--; return arr[front++]; } /** * 查看数据,从队头查看 */ public long peek() { return arr[front]; } /** * 判断是否为空 */ public boolean isEmpty() { return elements == 0; } /** * 判断是否满了 */ public boolean isFull() { return elements == arr.length; }}
栈实现类
package ch03;public class MyStack { //底层实现是一个数组 private long[] arr; private int top; /** * 默认的构造方法 */ public MyStack() { arr = new long[10]; top = -1; } /** * 带参数构造方法,参数为数组初始化大小 */ public MyStack(int maxsize) { arr = new long[maxsize]; top = -1; } /** * 添加数据 */ public void push(int value) { arr[++top] = value; } /** * 移除数据 */ public long pop() { return arr[top--]; } /** * 查看数据 */ public long peek() { return arr[top]; } /** * 判断是否为空 */ public boolean isEmpty() { return top == -1; } /** * 判断是否满了 */ public boolean isFull() { return top == arr.length - 1; }}
阅读全文
1 0
- 数据结构3:队列与栈专题
- 栈与队列专题
- 数据结构专题——栈与队列之顺序栈及其Java实现
- 数据结构专题——栈与队列之链栈及其Java实现
- 数据结构专题——栈与队列之栈的应用(一)
- 【数据结构】栈与队列
- 【数据结构】栈与队列
- 数据结构-栈与队列
- [数据结构] 栈与队列
- 【数据结构】栈与队列
- 数据结构专题——队列
- 数据结构笔记(3)栈与队列
- java数据结构链表,堆栈,队列等相关专题分析与扯谈-队列
- 数据结构与算法--栈、队列(队列)
- 数据结构之栈与队列
- 数据结构(四)栈与队列
- 数据结构的栈与队列
- 数据结构之栈与队列
- 7、volley 源码解析之缓存线程工作流程
- API学习LinkedHashMap
- Java中SQL遇到字段in条件的解决方法
- 8、volley 源码解析之网络线程工作流程
- 设置su和sudo为不需要密码
- 数据结构3:队列与栈专题
- 1158: 又是排序(指针专题)
- ARM嵌入式体系结构与接口技术
- NSURLSession 详解
- 9、volley 源码解析之消息分发工的工作流程
- MooTools 教学: 排序类和方法简介
- SQLite3的中文读写
- OpenCV学习之滚动条播放视频
- 乘法逆元