码迷,mamicode.com
首页 > Web开发 > 详细

web前端面试系列 - 数据结构(两个栈模拟一个队列)

时间:2016-10-01 19:50:36      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

一、 用两个栈模拟一个队列

思路一:

    1. 一个栈s1作为数据存储,另一个栈s2,作为临时数据存储。

    2. 入队时将数据压人s1

    3. 出队时将s1弹出,并压人s2,然后弹出s2中的顶部数据,最后再将剩余数据弹出s2,并压人s1.

思路二: 

    1. 一个栈s1作为数据存储,另一个栈s2,作为临时数据存储。

    2. 入队时,判断s1, 是否为空,如果不为空,则将数据直接压入s1, 如果为空,则将s2中的数据全部倒入s1,在将数据压人s1.

    3. 出队时,判断s2, 是否为空,如果不为空,则直接弹出s2顶部的数据,如果为空,则将s1中的数据全部倒入s2, 再弹出s2顶部的数据。

思路三:

    1. 入队时,将数据压入s1.

    2. 出队时,判断s2是否为空,如果不为空,则直接弹出顶部元素;如果为空,则将s1的数据倒入s2,再弹出s2的顶部元素。

    

web前端面试系列 - 数据结构(两个栈模拟一个队列)

标签:

原文地址:http://www.cnblogs.com/xiaodi-js/p/5922275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!