今天在第一次写到与栈与队列相关的算法时,将栈与队列的知识简单复习了一下:
首先要说的就是初学者最容易记住但是在使用的时候又是最容易忘记的一句话:栈里面的元素是先进后出,队列里的元素是先进先出。这句话在我当时看到这一章时也是最容易理解的一句话,但是今天在写算法的过程中却忘得一干二净,直到看了解析才想起来还有这回事。
然后就是在写这些算法时才发现栈与队列不是什么高大上的东西,就是使用数组加上一定的限制完成的,比如对于一个数组,加上了必须从数组末尾拿出元素的限制就变成了栈;加上了必须从数组前端拿出元素的限制就变成了队列。
最后就是今天写的两道算法刚好相反,一道是将栈转成队列,另一道是将队列转成栈。栈与队列在必须的时候是可以相互转换的。