利用java语言实现自定义队列与栈
来源:互联网 发布:java培训班都找到工作 编辑:程序博客网 时间:2024/06/05 14:37
自定义栈实现:
public class MibuStack<T> {
// 定义小大private int size;
// 默认数据大小为4private Object[] array = new Object[4];
// 非空判断函数public boolean isEmpty(){if (size==0) {return true;}else{return false;}}public int size(){return size;}
// 扩容函数public void expandCapacity(){Object[] newArray = new Object[size*2];System.arraycopy(array, 0, newArray, 0, size);array = newArray;}
// 向栈内压元素public void push(T t){array[size]=t;size++;if(size==array.length){expandCapacity();}}// 弹出栈顶元素@SuppressWarnings("unchecked")public T peek(){if (isEmpty()) {return null;}else{return (T) array[size-1];}}// 移除栈顶元素public T pop(){if (isEmpty()) {return null;} else { T t = peek(); array[size-1]=null; size--; return t;}}}自定义队列实现:
public class MyQueue<T> {private int size;public boolean isEmpty(){if (size==0) {return true;}else{return false;}}public int size(){return size;}private ListNode<T> head;private ListNode<T> last;public MyQueue(ListNode<T> head, ListNode<T> last) {super();head = new ListNode<T>(null, null) ;last = head;}public void offer(T t){ListNode<T> node = new ListNode<T>(t, null);last.next=node;last=node;size++;}public T peek(){if (isEmpty()) {return null;} else { return head.next.value; }}public T poll(){if (isEmpty()) {return null;} else { ListNode<T> p=head.next; head.next=p.next; size--; if (size==0) {last=head; } return p.value;}}}class ListNode<T>{T value;ListNode<T> next;public ListNode(T value, ListNode<T> next) {super();this.value = value;this.next = next;}}
阅读全文
0 0
- 利用java语言实现自定义队列与栈
- 利用栈实现队列(C语言实现)
- Java:如何利用两个栈实现队列
- java语言实现队列
- java语言实现队列
- java 阻塞队列自定义实现
- Java自定义实现链队列
- 优先队列--C语言实现与Java例子
- 数据结构-队列 JAVA语言实现
- java中栈与队列的实现
- java实现链栈与队列
- Java数组实现顺序栈与队列
- 二.Java栈与队列的实现:
- 栈与队列之用java实现队列
- 利用多线程与消息队列实现聊天
- java 利用数组实现循环队列
- 数据结构中栈与队列的c语言代码实现
- 使用数组实现栈和循环队列(JAVA语言)
- ajax数据交互
- HDU 1166(线段树,单点加减 询问区间和)
- free -g问题,-/+ buffers/cache中 free过小有影响吗,怎么降低
- windows Socket + tcp 简单实例
- JS获取屏幕、页面大小、分辨率
- 利用java语言实现自定义队列与栈
- 【JZOJ 5276】【清华集训2017模拟】神奇的玩具
- C++基础知识
- Linux系统中的常用命令总结
- 单词接龙codevs1018(noip2000)
- LitePal 1.6.0版本来袭,数据加解密功能保障你的应用数据安全
- Java:利用接口实现打印机案例(墨盒有彩色和黑白色,纸张有A4纸和B5纸)
- c++邻接矩阵的创建
- virtualBox中安装xp打开win8.1中exe闪退