js数据结构--队列
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body> <script type="text/javascript">
1.队列(FIFO):先进先出
2.创建一个类表示队列
function Queue(){
//这里是属性和方法
}
3.使用数组来存储队列中的元素
var items=[];
4.声明队列的方法
enqueue(elements):向队列尾部添加一个或多个新元素
dequeue():移除队列第一个元素,并返回移除的元素
front():返回添加到队列中的第一个元素
isEmpty():如果队列中元素为空,返回true,否则返回flase
size():返回队列中元素的个数
5.实现enqueue(elements)方法
this.enqueue=function(elements){
items.push(elements);
}
6.实现dequeue()方法
this.dequeue=function(){
return items.shift();
}
7.实现front()方法
this.front=function(){
return items[0];
}
8.实现isEmpty()方法
this.isEmpty=function(){
return items.length==0;
}
9.实现size()方法
this.size=function(){
return items.length;
}
10.实现print()方法
this.print=function(){
console.log(items.toString());
}
11.实现cleat()方法
this.clear=function(){
items=[];
}
12.队列的全部代码
function Queue(){
var items=[]; function enqueue(elements){
items.push(elements);
}; function dequeue(){
return items.shift();
}; function front(){
return items[0];
}; function isEmpty(){
return items.length==0;
}; function size(){
return items.length;
}; function print(){
console.log(items.toString());
}; function clear(){
items=[];
};
}
-------------------------------------------
使用Queue类 1.实例化Queue类,并判断是否为空
var queue=new Queue();
console.log(queue.isEmpty()); //true
2.添加一些元素
queue.enqueue('join');
queue.enqueue('jack');
queue.enqueue('caml');
queue.print();
console.log(queue.size()); //3
console.log(queue.isEmpty()); //false
queue.dequeue();
queue.dequeue();
queue.print();
</script>
</body>
</html>
js数据结构--队列的更多相关文章
- JS数据结构——队列
创建一个自己的类来表示一个队列 function Queue() { //这里写属性和方法 } 首先需要一个用于存储队列中元素的数据结构,可以用数组 let items = [] 接下来声明一些队列可 ...
- js数据结构之栈、队列(数据结构与拉火车游戏)
1.js实现队列的数据结构(先进先出) function Queue (array) { if(Object.prototype.toString.call(array)!="[object ...
- (js描述的)数据结构[队列结构,优先级队列](3)
(js描述的)数据结构[队列结构](3) 一.队列结构的特点: 1.基于数组来实现,的一种受限的线性结构. 2.只允许在表头进行删除操作,在表尾进行插入操作. 3.先进先出(FIFO) 二.队列的一些 ...
- 数据结构与算法 --- js描述队列
js描述队列 队列的特性是只能在队尾插入元素,在队首删除元素,先进先出: 队列被用在很多地方,比如提交操作系统执行的一系列进程,打印任务池,模拟现实中的排队: //队列类 function Queue ...
- JS数据结构与算法-队列结构
队列结构 一.认识队列 受限的线性结构: 我们已经学习了一种受限的线性结构:栈结构. 并且已经知道这种受限的数据结构对于解决某些特定问题,会有特别的 效果. 下面,我们再来学习另外一个受限的数据结构: ...
- JS数据结构第四篇 --- 栈
一.什么是数据结构栈 在数据结构中有一个栈结构,在内存空间中也有一个栈空间,这两个”栈“是两个不同的概念.这篇我们说的是数据结构中的栈.栈是一种特殊的线性表,特殊性在哪?就是只能在栈顶进行操作,往栈顶 ...
- JS数据结构与算法-概述
JS数据结构与算法概述 数据结构: 计算机存储, 组织数据的方式, 就像锅碗瓢盆 算法: 一系列解决问题的清晰指令, 就像食谱 两者关系: 程序 = 数据结构 + 算法 邂逅数据结构与算法 什么是数据 ...
- java 数据结构 队列的实现
java 数据结构队列的代码实现,可以简单的进行入队列和出队列的操作 /** * java数据结构之队列的实现 * 2016/4/27 **/ package cn.Link; import java ...
- C++ 泛型 编写的 数据结构 队列
平时编程里经常需要用到数据结构,比如 栈和队列 等, 为了避免每次用到都需要重新编写的麻烦现将 C++ 编写的 数据结构 队列 记录下来,以备后用. 将 数据结构 队列 用头文件的形式写成 ...
- JS实现队列
JS实现队列: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾 ...
随机推荐
- 基于Sa-Token实现微服务之前的单点登录
修改配置文件,准备好四个域名 127.0.0.1 auth.server.com 127.0.0.1 user.server.com 127.0.0.1 third.server.com 127.0. ...
- CANopen转ProfiNet网关在大跨径门机起重设备同步纠偏控制应用案例
大型门机起重设备纠偏控制系统采用CanOpen通讯协议,而PLC使用的是ProfiNet协议,看似不兼容的两种协议如何实现互通?今天我们来看一下这个案例. 通过捷米特JM-COP-PN设置纠偏系统的参 ...
- Flutter ListView 不满屏 无法滚动
场景: flutter ListView 在做上拉加载的时候,未list添加controller后,数据不满屏,无法滚动 解决: 未listview 设置: physics: const Always ...
- ChatGPT在工业领域的研究与应用探索-产品化部署及应用
<ChatGPT在工业领域的研究与应用探索-数据与工况认知> <ChatGPT在工业领域的研究与应用探索-AI助手实验应用> ChatGPT在工业领域的应用需要解决两个问题:( ...
- Django基本数据库操作
Django基本数据库操作 @ 目录 Django基本数据库操作 内容一:基本数据库配置 内容二:ORM基本操作 内容一:基本数据库配置 Django是一个流行的Python Web框架,它可以 ...
- JMeter 线程组之Stepping Thread Group插件
JMeter 线程组之Stepping Thread Group插件 测试环境 apache-jmeter-2.13 插件:https://jmeter-plugins.org/downloads ...
- 使用CoreDNS自建dns
前言 公司有些内网服务需要使用域名访问,安装bind比较麻烦,故使用coredns实现域名服务. IP 说明 192.168.0.41 安装dns,作为dns服务器 192.168.0.20 测试服务 ...
- php批量同步数据
php批量同步流程 首先分页获取数据 创建临时表 批量添加数据 备份原表 删除原表 修改临时表表名改为原表 代码 1 <?php 2 3 class Stock{ 4 5 private $da ...
- 解密Prompt系列13. LLM Agent-指令微调方案: Toolformer & Gorilla
上一章我们介绍了基于Prompt范式的工具调用方案,这一章介绍基于模型微调,支持任意多工具组合调用,复杂调用的方案.多工具调用核心需要解决3个问题,在哪个位置进行工具调用(where), 从众多工具中 ...
- 在编写API接口的技术文章时应注意的内容
编写API接口的技术文章时,建议包含以下内容: 1. 简介:介绍API接口的目的和作用,以及所属的项目或服务. 2. 接口描述:详细描述API接口的功能和使用方法,包括输入参数.输出结果和可能的错误码 ...