|  | 
 
| 
本帖最后由 不二如是 于 2018-4-5 16:20 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 
 
 
 
 
 我们已经学了栈,那么毫无疑问就轮到“队列”了。
 
 栈是后进先出,队列则是先进先出。
 
 基础介绍请看:0 1 2 4 ★ Js中‘仿 ' 【栈stack】&【队列queue】| 【鱼C独家】。
 
 
 
 
 
 
 队列(Queue)是遵循FIFO(First In First Out)原则的有序的项。
 
 队列在尾部添加新元素,并从顶部移除元素,最后添加的元素必须排在队列的末尾。
 
 
 
 
 创建队列
 
 我们来用类创建一个队列,先从最基本的声明开始:
 
 复制代码<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="keywords" content="小甲鱼,Web开发,HTML5,CSS3,Web编程教学">
    <meta name="description" content="《零基础入门学习Web开发》案例演示">
    <meta name="author" content="鱼C工作室">
    <title>鱼C-数据结构与算法(JavaScript)</title>
</head>
<body>
<script>
//    声明一个队列
    function Queue(){
        //定义属性和方法
    }
</script>
</body>
</html>
 首先需要一个用于存储队列中元素的数据结构,可以使用数组。
 
 在Queue()方法中创建一个数组:
 
 
 接下来需要声明一些队列的方法:
 
 enqueue(element(s)):像队列尾部添加一个(多个)新的项。
 dequeue():移除队列的第一个(最前面的顶部)项,并返回被移除的元素。
 
 front():返回队列中的第一个元素(最先被添加,最先被移除)。
 (队列不会有任何改变,不删除,只返回元素的信息)
 
 isEmpty():如果队列中不包含任何元素,返回true,否则false。
 
 size():返回队列包含的元素个数。
 
 
 
 enqueue(element(s))像队列添加元素
 
 这个方法负责像队列中添加新的项,记住:
 
 
 代码:
 
 复制代码//        添加新的项
        this.enqueue = function(element){
            items.push(element);
        };
 由于JS的数据结构特点,我们往队列的末尾添加值。
 
 此时就可以用JS的push方法。
 
 预知详情请看:0 0 4 6 ★ 数组对象之push()方法
 
 
 
 
 dequeue()从队列中移除元素
 
 这个方法负责移除项,由于队列遵循先进先出原则,最先添加的项最先被移除。
 
 此时可以用JS的Array类中的shift方法。
 
 预知详情请看:0 0 5 2 ★ 数组对象之shift()方法
 
 示例:
 
 复制代码//        移除元素
        this.dequeue = function(){
            return items.shift();
        };
 
 
 
 front()查看队列的头元素
 
 如果突然想知道队列最前面的项是什么,就可以用front()。
 
 示例:
 
 复制代码//        查看项
        this.front = function(){
            return items[0];
        };
 默认返回第0项,可以手动指定查看队列中的任何一项,然后修改item[n]中的n值即可。
 
 
 
 
 isEmpty()检查队列是否为空
 
 如果队列为空,会返回true,否则返回false。
 
 示例:
 
 复制代码//        检查是否为空
        this.isEmpty = function(){
            return items.length == 0;
        };
 
 
 
 size(),返回队列包含的元素个数。
 
 本方法可以返回队列的长度,如果长度为0,也可以用来判断队列是否为空。
 
 示例:
 
 复制代码//        检查队列长度
        this.size = function(){
            return items.length;
        };
 
 
 
 打印输出队列元素
 
 运用本方法,会在控制台输出队列中的指定元素。
 
 示例:
 
 复制代码//        输出元素
        this.print = function(){
            console.log(items.toString());
        };
 
 
 
 最终的Queue
 
 源码:
 
 
 
 
 
 如果有收获,别忘了评分
  : 
 
 
 
 这位鱼油,如果喜欢本系列学习笔记,请订阅 专辑☞(传送门 )(不喜欢更要订阅   ) 
 
 
 | 
 |