栈和队列的区别
(1)数据插入删除
栈是一种特殊的线性表,他只能在一段进行插入和删除操作,就好像是一个井一样。进行数据插入和删除就类似于井口,称为栈定。而井也是有底部的,栈无法进行插入删除操作的这一端就被称为栈底。
栈中的数据好似往井里加水或抽水,加水永远是加的离井口最近的水,同样,抽水也是抽的离进口最近的水。这种特性也就是先进后出LIFO。
加水的操作就是进栈/压栈/入栈,入的数据在栈的最顶端。
抽水的操作就是出栈,出的数据也在栈的顶端。
队列 只允许在一端进行插入操作,另一端进行删除操作。就像是排队一样,只能从后面排队,在队列的前面处理业务。而先排队的人可以先进行业务处理,这也就是队列的先进先出FIFO原则。
队列中的数据就是正在排队的人,入队列也就是加入排队,而加入的那一边称为队尾,出队列也就是业务处理完成,离开排队的地方,这一边则被称之为队头。
(2)遍历速度
栈