栈:一种遵从先进后出 (LIFO) 原则的有序集合;新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端为栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。
队列:与上相反,一种遵循先进先出 (FIFO / First In First Out) 原则的一组有序的项;队列在尾部添加新元素,并从头部移除元素。最新添加的元素必须排在队列的末尾
实现思路:设定两个栈,第一个栈进行入栈操作,再将除去栈底的元素依次压入第二个栈,然后对第一个栈的栈底元素实行出栈操作,再将第二个栈中的元素依次压入第一个栈。
此法实现过程略显麻烦,但比较切合队列的定义,保证了其他元素不动
我们通过js自带的push和pop功能实现,需要注意的是,pop实现的是压出后返回一个数值,push实现的是将一个数值压入栈中。
双栈实现队列结构
最新推荐文章于 2024-04-22 23:20:09 发布