最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js中利用两个栈实现队列的算法

来源:动视网 责编:小采 时间:2020-11-27 19:33:20
文档

js中利用两个栈实现队列的算法

js中利用两个栈实现队列的算法:本篇文章给大家分享的是关于js中利用两个栈实现队列的算法,内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家。题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析两个栈实现队列,那就是一个进一个出,且题
推荐度:
导读js中利用两个栈实现队列的算法:本篇文章给大家分享的是关于js中利用两个栈实现队列的算法,内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家。题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析两个栈实现队列,那就是一个进一个出,且题


本篇文章给大家分享的是关于js中利用两个栈实现队列的算法,内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家。

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

分析

两个栈实现队列,那就是一个进一个出,且题中没说两个栈的长度,那么对于两个栈s1和s2来说,有两个注意的点:

  • s1.push时,若s2不为空且s1为空,为了保证正确的顺序,则将s2的元素全返入s1,然后再s1.push

  • s2.pop时,若s2为空且s1不为空,为了保证正确的顺序,则将s1的元素全放入s2,然后再s2.pop

  • 代码实现

    var s1 = [], s2 = [];
    function transferStack(a, b) {
     while(a.length !== 0){
     b.push(a.pop());
     }
    }
    function push(val) {
     if(s1.length === 0 && s2.length !== 0){
     transferStack(s2, s1);
     }
    
     s1.push(val);
    }
    
    function pop(){
     if(s1.length !== 0 && s2.length === 0){
     transferStack(s1, s2);
     }
    
     return s2.pop();
    }

    文档

    js中利用两个栈实现队列的算法

    js中利用两个栈实现队列的算法:本篇文章给大家分享的是关于js中利用两个栈实现队列的算法,内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家。题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析两个栈实现队列,那就是一个进一个出,且题
    推荐度:
    标签: js 算法 队列
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top