JavaScript--数据结构之队列
5.1 队列的操作
队列是特殊的列表,只能一端入队(队尾)插入操作,一端出队(队头)删除操作。底层用数组,利用javascript数组优于其它语言的数组的方法,shift();删除第一个元素,push();队尾添加元素。分别对应出队,入队操作。
队列是一种先进先出的数据类型(FIFO);
一些常见用处:jQuery的动画执行顺序,打印机打印顺序,操作系统进程执行顺序,一些银行等的排队问题。
5.2 队列的实现(用数组实现的队列);
队列中的一些方法,
入队队列队尾添加一个元素enqueue();
出队队列队头删除一个元素dequeue();
获取队列队头的元素front();
获取队列队尾的元素back();
队列的长度length;
清空队列元素remove();
判断队列元素是否为空isEmpty();
获取队列元素qDatas();
function Queue() {
this.dataStore = [];
this.length = 0;
// this.enqueue = enqueue;
// this.dequeue = dequeue;
// this.remove = remove; //清空队列
// this.isEmpty = isEmpty; //判断队列是否为空
// this.qDatas = qDatas; //获取队列元素
// this.front = front; //获取队列第一个元素
// this.back = back; //获取队列最后一个元素
}
Queue.prototype.enqueue = function(element) {
this.dataStore.push(element);
this.length++;
};
Queue.prototype.dequeue = function() {
this.dataStore.shift();
this.length--;
};
Queue.prototype.remove = function() {
this.dataStore = [];
this.length = 0;
};
Queue.prototype.isEmpty = function() {
return this.length == 0 ? true : false;
};
Queue.prototype.qDatas = function() {
var datas = "";
for(var i = 0;i < this.dataStore.length;i++) {
datas += this.dataStore[i]+"\n";
}
return datas;
};
Queue.prototype.front = function() {
return this.dataStore[0];
};
Queue.prototype.back = function() {
return this.dataStore[this.dataStore.length-1];
};
5.3 队列的使用-方块舞伴的分配
...
5.4 使用队列对数据进行排序
JavaScript--数据结构之队列的更多相关文章
- javascript数据结构之队列
首先什么是队列? 排队买东西就是生活中队列的实际例子,在队伍中大家必须按照顺序来,不能插队,新来的人只能排在队伍的最后面.新加入的人相当于队列的后端加入的元素,队伍最前面买完东西的人离开队伍相当于是队 ...
- JavaScript数据结构,队列和栈
在JavaScript中为数组封装了大量的方法,比如:concat,pop,push,unshift,shift,forEach等,下面我将使用JavaScript提供的这些方法,实现队列和栈的操作. ...
- JavaScript数据结构-5.队列
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JavaScript 数据结构与算法之美 - 线性表(数组、栈、队列、链表)
前言 基础知识就像是一座大楼的地基,它决定了我们的技术高度. 我们应该多掌握一些可移值的技术或者再过十几年应该都不会过时的技术,数据结构与算法就是其中之一. 栈.队列.链表.堆 是数据结构与算法中的基 ...
- 学习javascript数据结构(一)——栈和队列
前言 只要你不计较得失,人生还有什么不能想法子克服的. 原文地址:学习javascript数据结构(一)--栈和队列 博主博客地址:Damonare的个人博客 几乎所有的编程语言都原生支持数组类型,因 ...
- javascript数据结构与算法---队列
javascript数据结构与算法---队列 队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素.队列用于存储按顺序排列的数据,先进先出,这点和栈不一样(后入先出).在栈中,最后入栈的元素 ...
- JavaScript数据结构——栈和队列
栈:后进先出(LIFO)的有序集合 队列:先进先出(FIFO)的有序集合 --------------------------------------------------------------- ...
- JavaScript数据结构——队列的实现
前面楼主简单介绍了JavaScript数据结构栈的实现,http://www.cnblogs.com/qq503665965/p/6537894.html,本次将介绍队列的实现. 队列是一种特殊的线性 ...
- 为什么我要放弃javaScript数据结构与算法(第四章)—— 队列
有两种结构类似于数组,但在添加和删除元素时更加可控,它们就是栈和队列. 第四章 队列 队列数据结构 队列是遵循FIFO(First In First Out,先进先出,也称为先来先服务)原则的一组有序 ...
- JavaScript数据结构与算法-队列练习
队列的实现 // 队列类 function Deque () { this.dataStore = []; this.enqueueFront = enqueueFront; this.enqueue ...
随机推荐
- 【Facebook的UI开发框架React入门之九】button简单介绍(iOS平台)-goodmao
--------------------------------------------------------------------------------------------------- ...
- POJ 3225 Help with Intervals(线段树)
POJ 3225 Help with Intervals 题目链接 集合数字有的为1,没有为0,那么几种操作相应就是置为0或置为1或者翻转,这个随便推推就能够了,然后开闭区间的处理方式就是把区间扩大成 ...
- 自己主动化脚本ssh以及telnet发送命令并退出(windows和linux都适用)
须要安装putty,用到的命令是plink: PuTTY Link: command-line connection utility Unidentified build, Jun 23 2015 1 ...
- [2012山东省第三届ACM大学生程序设计竞赛]——Mine Number
Mine Number 题目:http://acm.sdut.edu.cn/sdutoj/problem.php? action=showproblem&problemid=2410 Time ...
- 【android】getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的作用
getCacheDir()方法用于获取/data/data/<application package>/cache目录 getFilesDir()方法用于获取/data/data/< ...
- mybatis :实现mybatis分页
上一篇文章里已经讲到了mybatis与spring MVC的集成,并且做了一个列表展示,显示出所有article 列表,但没有用到分页,在实际的项目中,分页是肯定需要的.而且是物理分页,不是内存分页. ...
- 使用INSERT…SELECT语法插入记录(三十二)
前面,我们在谈INSERT语句时,使用两种语句:INSERT…SELECT 和 INSERT…VALUES. INSERT…SELECT可以使用子查询.因为在写SELECT时. *** = ...
- Day2代码
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #defi ...
- android学习笔记二、Activity深入学习
一.创建和使用: 1.Activity是android的四大组件之一,需要继承Activity并在清单文件中进行声明才能使用.没有声明则报错. 2.启动Activity是通过Intent,有两种方式: ...
- OPENCV(2) —— Basic Structures(一)
DataType A primitive OpenCV data type is one of unsigned char, bool,signed char, unsigned short, sig ...