当前位置: 首页 > news >正文

哪些网站可以做h5/在线查询网站收录

哪些网站可以做h5,在线查询网站收录,榆林网站建设熊掌号,企业门户网站建设方案书写在前面本系列代码Gitee地址为点击这里接口 Queue.javapublic interface Queue {// 入队void enqueue(E e);// 出队E dequeue();// 获取队首元素E getFront();// 获取队列大小int getSize();// 判断队列是否为空boolean isEmpty();}实现 ArrayQueue(数组队列)基于《创建一个自…

写在前面

本系列代码Gitee地址为点击这里

接口 Queue.java

public interface Queue {

// 入队

void enqueue(E e);

// 出队

E dequeue();

// 获取队首元素

E getFront();

// 获取队列大小

int getSize();

// 判断队列是否为空

boolean isEmpty();

}

实现 ArrayQueue(数组队列)

基于《创建一个自己的Array》

注:此实现在出队时开销过大,不推荐使用

public class ArrayQueue implements Queue {

private Array array;

public ArrayQueue(int capacity) {

array = new Array(capacity);

}

public ArrayQueue() {

array = new Array();

}

@Override

public void enqueue(E e) {

array.addLast(e);

}

@Override

public E dequeue() {

return array.removeFirst();

}

@Override

public E getFront() {

return array.getFirst();

}

@Override

public int getSize() {

return array.getSize();

}

public int getCapacity() {

return array.getCapacity();

}

@Override

public boolean isEmpty() {

return array.isEmpty();

}

@Override

public String toString() {

return String.format("Queue: size = %d, capacity = %d\n", array.getSize(), array.getCapacity()) +

"front " + array + " tail";

}

}

实现 LoopQueue.java(循环队列)

public class LoopQueue implements Queue {

private E[] data;

private int front;

private int tail;

private int size;

public LoopQueue(int capacity) {

data = (E[]) new Object[capacity + 1];

front = 0;

tail = 0;

size = 0;

}

public LoopQueue() {

this(10);

}

@Override

public void enqueue(E e) {

if ((tail + 1) % data.length == front) {

resize(getCapacity() * 2);

}

data[tail] = e;

tail = (tail + 1) % data.length;

size++;

}

@Override

public E dequeue() {

if (isEmpty()) {

throw new IllegalArgumentException("Cannot dequeue from an empty queue.");

}

E ret = data[front];

data[front] = null;

front = (front + 1) % data.length;

size--;

if (size >= 5 && size == getCapacity() / 4)

resize(getCapacity() / 2);

return ret;

}

@Override

public E getFront() {

if (isEmpty()) {

throw new IllegalArgumentException("Queue is empty.");

}

return data[front];

}

@Override

public int getSize() {

return size;

}

public int getCapacity() {

return data.length - 1;

}

@Override

public boolean isEmpty() {

return front == tail;

}

@Override

public String toString() {

StringBuilder res = new StringBuilder();

res.append(String.format("Queue: size = %d, capacity = %d\n", getSize(), getCapacity()));

res.append("front [");

for (int i = front; i != tail; i = (i + 1) % data.length) {

res.append(data[i]);

if ((i + 1) % data.length != tail) {

res.append(", ");

}

}

res.append("] tail");

return res.toString();

}

private void resize(int newCapacity) {

E[] newData = (E[]) new Object[newCapacity + 1];

for (int i = 0; i < size; i++)

newData[i] = data[(1 + front) % data.length];

data = newData;

front = 0;

tail = size;

}

}

实现LinkedListQueue.java(链表队列)

public class LinkedListQueue implements Queue {

LinkedList linkedList;

public LinkedListQueue() {

this.linkedList = new LinkedList();

}

@Override

public void enqueue(E e) {

linkedList.addLast(e);

}

@Override

public E dequeue() {

return linkedList.removeFirst();

}

@Override

public E getFront() {

return linkedList.getFirst();

}

@Override

public int getSize() {

return linkedList.getSize();

}

@Override

public boolean isEmpty() {

return linkedList.isEmpty();

}

@Override

public String toString() {

return String.format("Queue: size=%d\nhead %s tail", getSize(), linkedList);

}

}

实现PriorityQueue.java(优先队列)

public class PriorityQueue> implements Queue {

private MaxHeap maxHeap;

public PriorityQueue() {

maxHeap = new MaxHeap<>();

}

@Override

public void enqueue(E e) {

maxHeap.add(e);

}

@Override

public E dequeue() {

return maxHeap.extractMax();

}

@Override

public E getFront() {

return maxHeap.findMax();

}

@Override

public int getSize() {

return maxHeap.size();

}

@Override

public boolean isEmpty() {

return maxHeap.isEmpty();

}

}

http://www.lbrq.cn/news/1307035.html

相关文章:

  • 专门做油画交流的网站/新闻式软文经典案例
  • 哪个cms可以做交友网站/网络营销包括的主要内容有
  • 网站设计师对应的专业/深圳谷歌seo公司
  • wordpress文章字号/百度seo网站优化
  • 开发网站能赚多少钱/提交链接
  • 惠州做棋牌网站建设哪家公司便宜/seo资源咨询
  • 网站建设与运营市场开拓方案/百度指数数据分析报告
  • 上海中小企业网站建设/广州aso优化公司 有限公司
  • 网站建设模式/优化网站视频
  • 响应网站怎么做教学视频/关键词查询网站
  • asp网站关键字/seo和sem的区别是什么?
  • 快站app下载/黑锋网seo
  • 独立个人博客网站制作/手机百度识图网页版入口
  • 建立网站如何盈利/昆明seo网站管理
  • 中国建设银行网站密码是什么意思/关键词排名是什么意思
  • 静安网站建设哪里有/百度快速收录技术
  • 南阳锐诚网站建设/搜索引擎最佳化
  • 四川省建设厅网站官网/网上推销产品去什么平台
  • 网站病毒视频/今天高清视频免费播放
  • 自己建网站 怎么做后台/安徽百度seo公司
  • 重庆万州网站建设找谁/seo计费系统登录
  • 做网站怎么收集资料/搜索推广竞价托管哪家好
  • 电商网站开发设计/免备案域名
  • 广州微网站建设效果/个人网站seo入门
  • 新开传奇网站180火龙/百度云建站
  • icp域名备案查询系统/seo关键词挖掘
  • 做公司年报网站登录密码是什么/百度最新人工智能
  • 做asp网站需要的实验报告单/企业网站优化哪家好
  • 整站快速排名优化/疫情最新资讯
  • 电子商务网站规划的原则/网站关键词挖掘
  • 使用 jar -xvf 解压JAR文件无反应怎么办?
  • 零售快销行业中线下巡店AI是如何颠覆传统计算机视觉识别的详细解决方案
  • Python获取网页乱码问题终极解决方案 | Python爬虫编码处理指南
  • 2D视觉系统标定流程与关键要求
  • 事务~~~
  • Python爬虫实战:研究PyYAML库相关技术