从定义上
堆栈:一端进行插入和删除,另一端封闭的特殊线性表。
队列:插入一端并删除到另一端的路线图。
从运算上:
堆栈:指针top (堆栈顶部)、bottom; 插入推运算(top 1),删除推运算(top-1 )。
队列(指针rear、front )开头); 在队列末尾进行列运算(末尾指针进入1,rear=m 1时,rear=1),开头删除出队运算)开头指针进入1,front=m 1时,front=1) )。
从规则上:
迭:先走后出,后先出。
队列:先出去,后出去。
在顺序存储中:
堆栈:插入和删除运算不需要移动表中的其他元素。
队列:需要移动。
在遍历读取上
堆栈:只能从顶部提取数据。 要读取堆栈下的元素,必须遍历并取出整个堆栈。
队列:可以从开头或末尾遍历。
关于堆栈,我自己的理解是一个杯子,一边是开口,一边是封闭的。 先放入的水最后取出,后导入的水第一个取出。 要把杯子底部的东西拿出来,必须把一切都拿出来。