首页 > 问答 > 正文
队列到底是后进先出,还是先进先出。看老师讲的后进先出,但是,实际结果貌似先进先出?
另外,后进先出,和先进后出有啥子区别?
十亿亿2019-10-10 08:38:18
你可能吧把栈与队列搞错了。 栈后进先出。队列则先进先出。
你仔细看我的描述,自己动手多实验几次。不要这么快下结论。我刚开始也以为是老师搞错了。后面仔细推敲,发现是没有错的。只是看你怎么理解。 网上提到的队列,所谓的“先进先出”,指的是排在数组最前面的那些元素先出队而已。并没有体现入队和出队的整体这两个动作连贯的顺序,而只是一个出队的顺序而已。(两个动作连贯起来描述,队列他就是后进先出) 网上提到的堆栈,所谓的“后进先出”,指的是排在数组最后面的那个元素先出栈而已。也并没有体现入栈和出栈这两个动作连贯的顺序,而只是一个出栈的顺序而已。(两个动作连贯起来,堆栈就是 先进后出)
王先生2019-10-09 18:02:14
关于堆栈和队列的模式,个人认为如下解释会不会合理点:堆栈操作(先进后出的模式:指针对新入栈的数据,在出栈的时候按照原来入栈的先后顺序,先入栈的数据后出栈。实际上就是按照入栈完后的排列顺序,从最后一个数据往前出栈)队列操作(后进先出的模式:指的是对新入队的数据,在出队的时候按照原来入队先后顺序,后入队的数据先出队。实际上就是按照入队完后的排列顺序,从最前一个数据往后出队