队列的两种实现方式
来源:互联网 发布:广电网络梅江电话 编辑:程序博客网 时间:2024/05/29 18:27
和栈类似,用数组和链表来实现了了队列
首先是数组实现的;
/* * 用数组实现一个队列 * 未处理边界情况 */public class MyQueue<E> { int size; int i=0;//队列头 private Object[] queue; public MyQueue(){ queue=new Object[10]; } public boolean isEmpty(){ return size==0; } public E put(E data){ queue[size++]=data; return data; } public E pop(){ @SuppressWarnings("unchecked") E tmp=(E) queue[i++]; size--; return tmp; } public E peek(){ return (E) queue[i]; } public static void main(String[] args){ MyQueue<Integer> s=new MyQueue<>(); s.put(2); s.put(3); s.put(4); s.put(5); s.put(7); System.out.println(s.size); System.out.println("元素为"+s.pop());// 打印 2 System.out.println("元素为"+s.pop());//3 System.out.println("元素为"+s.pop());//4 System.out.println("元素为"+s.peek());//5 }}
接着是用链表实现的队列:
/* * 用链表实现一个队列 */class Node_1<E>{ Node_1<E>next=null; E data; public Node_1(E data){this.data=data;}}public class LinkedQueue<E> { private Node_1<E>head=null; private Node_1<E>tail=null; public boolean isEmpty(){ return tail==head; } public void push(E data){ Node_1<E>newNode=new Node_1<>(data); if(head==null&&tail==null)//判断队列是否为空 若不判断 则编译不过 空指针异常 head=tail=newNode; else{ tail.next=newNode; tail=newNode;}} public E pop(){ if(this.isEmpty()) return null; E data=head.data; head=head.next; return data; } public E peek(){ return head.data; } public static void main(String[] args){ LinkedQueue<Integer>myqueue=new LinkedQueue<>(); myqueue.push(122); myqueue.push(144); myqueue.push(155); //myqueue.pop(); System.out.print(myqueue.peek());//122 }}
0 0
- 双队列的两种实现方式
- 队列的两种实现方式
- 队列的两种存储方式的介绍与实现
- 队列的C++实现(两种方式)
- Java可阻塞队列的两种实现方式
- rabbitmq 实现延迟队列的两种方式
- rabbitmq 实现延迟队列的两种方式
- 队列的两种存储方式的介绍与实现(后续)
- 大话数据结构(六)——队列的两种java实现方式
- 队列的两种C++实现
- 队列的两种实现方法
- 队列的实现方式
- 【tensorflow】文件队列的两种创建和加载方式
- 队列的三种实现方式
- CEikRichTextEditor 实现的两种方式
- 局部刷新的两种实现方式
- Java实现多线程的两种方式
- 两种实现二维数组的方式
- 二叉树的中序遍历
- JaveMail实现发送QQ邮件
- 厨娘的Java笔记(一):强制类型转换之引用转换
- 【实战】Python读写Excel实例应用
- 三种寻找最长递增(减)子序列的方法【LIS】
- 队列的两种实现方式
- STL中的数据结构笔记(一)
- ZOJ-Hard to Play
- latex 入门
- 改变世界的TCP/IP协议
- 竖式问题
- 哈希表
- python中list的实现
- IO流