怎么让做的网站赚钱吗,在线设计图片logo免费,微信公众号要交钱吗,品牌宣传推广文案目录 一、队列的定义
二、队列方法的实现
1、定义队列
2、后端插入
3、前端操作
4、判断队列是否为空
5、队列大小
三、队列方法的使用 一、队列的定义 队列是一种特殊的线性表#xff0c;特殊之处在于它只允许在表的前端#xff08;front#xff09;进行删除操作特殊之处在于它只允许在表的前端front进行删除操作而在表的后端rear进行插入操作和栈一样队列是一种操作受限制的线性表。进行插入操作的端称为队尾进行删除操作的端称为队头。队列中没有元素时称为空队列。 用双向链表实现一个队列 二、队列方法的实现 1、定义队列
public class MyQueue{static class ListNode {public int val;public ListNode next;public ListNode prev;public ListNode(int val) {this.val val;}}public ListNode head;public ListNode last;public int UsedSize; 2、后端插入 public boolean offer(int val) {ListNode node new ListNode(val);if (head null) {head node;last node;} else {last.next node;node.prev last;last node;}UsedSize;return true;} 3、前端操作
取出头节点的值并将头节点从链表中取出
public int pop() {if (head null) {return -1;}int retVal head.val;if (head.next null) {return retVal;}head head.next;
、head.prev null;UsedSize--;return retVal;} 取出头节点的值但不将头节点从链表中取出
public int peek(){if (headnull){return -1;}return head.val;} 4、判断队列是否为空 public boolean empty(){return headnull;} 5、队列大小
public int size(){return UsedSize;} 三、队列方法的使用
定义一个Main类对定义的方法进行使用。
public class Main {public static void main(String[] args) {MyQueue myQueuenew MyQueue();myQueue.offer(1);myQueue.offer(2);myQueue.offer(3);myQueue.offer(4);myQueue.offer(5);myQueue.offer(6);System.out.println(myQueue.pop());System.out.println(myQueue.peek());System.out.println(myQueue.empty());System.out.println(myQueue.size());}} 执行结果
1 2 false 5 以上就是对队列的简单实现