java 数据结构之 顺序存储结构 队列
2015-07-29 10:25
393 查看
package com.xdl.data_stru; import org.hamcrest.core.Is; /** * @author xudaolong * 队列:先进先出,如排队买票,先排先买到; * 核心 : "假溢出",构件环模型,对队列头尾指针进行判断,相当重置; * rear= (rear+1)%max_queue; * front=(front+1)%max_queque; */ @SuppressWarnings("unused") public class Day_Four_SeqQueue<E> { private int max_queue;//需要初始化 private Object[] data; private int front; private int rear; private int len; private void init(int max_queue) { this.max_queue = max_queue; this.data = new Object[max_queue]; this.front = 0; this.rear = 0; this.len =0; } private boolean check_queue_full() { if ((this.rear+1)%max_queue == this.front) { return true; } return false; } private boolean push_queue(E e) { if (!check_queue_full()) { this.rear = (this.rear+1)%max_queue; this.data[this.rear] =e; this.len++; return true; } return false; } @SuppressWarnings("unchecked") private E out_queue() { if (!check_queue_full()) { this.front = (this.front +1)%max_queue; this.len--; return (E)this.data[this.front]; } return null; } @SuppressWarnings("unchecked") private E get_front() { if (!check_queue_full()) { return (E)this.data[(this.front+1)%max_queue]; } return null; } private boolean is_null() { /*也可以this.rear=this.front代替*/ if (this.len==0) { return true; } return false; } }
相关文章推荐
- 图结构练习——最小生成树
- cocos2d-x3.0数据结构
- 数据结构
- 数据结构基础温故-5.图(中):最小生成树算法
- 数据结构和算法学习笔记-2
- 数据结构之双向链表(JAVA实现)
- 数据结构---二叉树(1)
- 数据结构实验之队列一:排队买饭 SDUT
- HDU 5316 Magician(线段树区间合并入门)
- 黑马程序员——高新技术---Java基础-集合特点和数据结构总结
- 数据结构实验之二叉树的建立与遍历 SDUT
- 数据结构实验:连通分量个数
- HDU 1277 - 全文检索
- 进程01
- 数据结构和算法学习笔记-1
- 数据结构与算法学习目录
- java数据结构
- 数据结构实验之栈二:一般算术表达式转换成后缀式 SDUT
- 数据结构与算法-抽象数据类型
- 数据结构与算法-抽象数据类型