zoukankan      html  css  js  c++  java
  • 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());
    	}
    }
    

      

  • 相关阅读:
    bind函数(c++11)
    谓词
    lambda表达式(c++11)
    重载运算符
    sizeof新用法(c++11)
    引用限定符(c++11)
    this指针和const成员函数
    JavaScript for循环元素取下标问题
    Hbuider sass配置 webstorm scss配置
    检测对象是否拥有某一属性
  • 原文地址:https://www.cnblogs.com/donglegend/p/6043354.html
Copyright © 2011-2022 走看看