• javascript数据结构-队列


    gihub博客地址

    队列(Queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

    队列类

    function Queue(){
    	this.data = [];
    }
    

      

    添加数据

    数据添加到末尾

    enqueue: function(element) {
    	this.data.push(element);
    }
    

      

    删除数据

    从头部删除

    dequeue: function() {
    	this.data.shift();
    }
    

      

    获取数据

    返回第一个

    front: function() {
    	return this.data[0];
    }
    

      

    是否为空

    isEmpty: function (){
    	return this.data.length == 0;
    }
    

      

    清空数据

    clear: function (){
    	this.data= [];
    }
    

      

    数据长度

    size: function (){
    	return this.data.length;
    }
    

      

    完整代码

    function Queue() {
    	this.data = [];
    }
    Queue.prototype = {
    	enqueue: function(element) {
    		this.data.push(element);
    	},
    	dequeue: function() {
    		this.data.shift();
    	},
    	front: function() {
    		return this.data[0];
    	},
    	isEmpty: function() {
    		return this.data.length == 0;
    	},
    	clear: function() {
    		this.data = [];
    	},
    	size: function() {
    		return this.data.length;
    	},
    	print: function() {
    		console.log(this.data.toString());
    	}
    }
    

      

  • 相关阅读:
    if——while表达式详解
    java算法:抽象数据类型ADT
    java算法:FIFO队列
    Android_NetworkInfo以及判断手机是否联网
    java算法:堆栈ADT及实例
    java算法:数据项
    java算法:一流的ADT
    java算法:复合数据结构
    java算法:字符串
    java算法:基于应用ADT例子
  • 原文地址:https://www.cnblogs.com/donglegend/p/6043354.html
Copyright © 2020-2023  润新知