基于JavaScript的数据结构队列动画实现示例解析


Posted in Javascript onAugust 06, 2020

一 摘要

今天给大家介绍一个基于数据结构中的队列的一个动画,在实现这个动画之前呢,还是给大家讲讲,在JavaScript中我们如何实现一个队列.

二 队列

队列是一种列表,不同的是队列只能在末尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据。先进先出。这点和栈不一样,在栈中,最后入栈的元素反被优先处理。可以将队列想象成银行排队办理业务的人,排队在第一个的人先办理业务,其它人只能排着,直到轮到他们为止。

队列是一种先进先出(FIFO)的数据结构。队列被用在很多地方。比如提交操作系统执行一系列进程。打印任务池等。一些仿真系统用来模拟银行或杂货店里排队的顾客。

队列在程序程序设计中用的非常的频繁,因为javascript单线程,所以导致了任何一个时间段只能执行一个任务,而且还参杂了异步的机制.

在JavaScript的运用中,通常使用队列来进行任务的排序。而任务队列的任务是按进入队列的顺序延迟执行(解决状态一致性)的,即当前一个任务完成后,后面的任务才被执行,如果当前没有任务,则入队列的任务立即执行

三 导致的问题

在异步操作执行的时候,同步代码还在继续,那么同步代码依赖异步,自然就会出错多个同步的任务在不同的时间段被调用

四 具体实现

第一步 构建一个队列

基于JavaScript的数据结构队列动画实现示例解析

第二步 实现类方法

1)向队列添加元素

基于JavaScript的数据结构队列动画实现示例解析

2)向队列删除元素

基于JavaScript的数据结构队列动画实现示例解析

3)读取队列首元素

基于JavaScript的数据结构队列动画实现示例解析

4)读取队列尾元素

基于JavaScript的数据结构队列动画实现示例解析

5)显示队列内的所有元素

基于JavaScript的数据结构队列动画实现示例解析

6)判断队列是否为空

基于JavaScript的数据结构队列动画实现示例解析

第三步 效果展示

)第一步:新建对象

基于JavaScript的数据结构队列动画实现示例解析

)第一步:运行结果

基于JavaScript的数据结构队列动画实现示例解析

五 结论

今天就到这里,明天继续给大家讲讲基于队列的动画,其实大家之前对数据结构了解的话,队列的操作应该不陌生了,队列在实际开发中还是用的比较多的!

到此这篇关于基于JavaScript的数据结构队列动画实现示例解析的文章就介绍到这了,更多相关JavaScript的数据结构队列动画内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
List all the Databases on a SQL Server
Jun 21 Javascript
番茄的表单验证类代码修改版
Jul 18 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
判断iframe是否加载完成的完美方法
Jan 07 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
Nov 19 Javascript
jquery拖动插件(jquery.drag)使用介绍
Jun 18 Javascript
JavaScript隐式类型转换
Mar 15 Javascript
Bootstrap响应式表格详解
May 23 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
js自定义input文件上传样式
Oct 26 Javascript
序列化模块json代码实例详解
Mar 03 Javascript
解决vue动态下拉菜单 有数据未反应的问题
Aug 06 #Javascript
JavaScript中ES6规范中let和const的用法和区别
Aug 06 #Javascript
在vue项目中利用popstate处理页面返回的操作介绍
Aug 06 #Javascript
JavaScript中作用域链的概念及用途讲解
Aug 06 #Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 #Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
Aug 06 #Javascript
Vue Router中应用中间件的方法
Aug 06 #Javascript
You might like
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
Python深入学习之装饰器
2014/08/31 Python
Python解析树及树的遍历
2016/02/03 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
python计算日期之间的放假日期
2018/06/05 Python
Python补齐字符串长度的实例
2018/11/15 Python
python实现二维插值的三维显示
2018/12/17 Python
Python判断telnet通不通的实例
2019/01/26 Python
python 串行执行和并行执行实例
2020/04/30 Python
HTML5注册页面示例代码
2014/03/27 HTML / CSS
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
英语系毕业生自荐信
2013/10/31 职场文书
教学评估实施方案
2014/03/16 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
股权投资意向书
2014/04/01 职场文书
班训口号大全
2014/06/18 职场文书
学校宣传标语
2014/06/18 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python