最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • JS中的算法与数据结构-队列(Queue)

    正文概述 掘金(healerhe)   2021-03-07   675

    JS中的算法与数据结构-队列(Queue)

    定义

    栈,它是一种比较高效的数据结构,遵循 先入后出(LIFO,last-in-first-out) 的原则。 队列,它也是一种特殊的列表,它与栈不同的是, 队列只能在队尾插入元素,在队首删除元素

    队列用于存储按顺序排列的数据,遵循 先进先出(FIFO,First-In-First-Out) 的原则

    队列的属性与方法

    队列的操作主要也是有两种:向队列中插入新元素和删除队列中的元素,即入队和出队操作。

    类型描述
    enqueue()入队,向队末插入一个元素dequeue()出队,删除队首一个元素front()读取队首元素back()读取队尾元素toString()显示所有队列中的元素clear()清空队列中的元素empty()判断队列是否为空

    队列的实现

    //定义队列
    
    function Queue(){
        this.dataStore = [];
        this.enqueue = function (element) { //入队
        	this.dataStore.push( element );
        };     
        this.dequeue = function() { //出队
        	if( this.empty() ) return 'This queue is empty';
        	return this.dataStore.shift();
        };     
        this.front = function() { //查看队首元素
        	if( this.empty() ) return 'This queue is empty';
        	return this.dataStore[0];
        };        
        this.back = function() { //查看队尾元素
        	if( this.empty() ) return 'This queue is empty';
        	return this.dataStore[this.dataStore.length-1];
        };           
        this.toString = function() { //显示队列所有元素
        	 console.log(this.dataStore.join('\n'));
        };   
        this.clear = function() { //清空当前队列
        	 delete this.dataStore;
             this.dataStore = [];
        };         
        this.empty = function() { //判断当前队列是否为空
        	if( this.dataStore.length == 0 ) return true;
        	return false;
        };         
    }
    
    

    起源地下载网 » JS中的算法与数据结构-队列(Queue)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元