栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表。
        队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。
        从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。但它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的"限定"。
        栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出" 的规则进行操作。和线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。可将线性表和栈及队列的插入和删除操作对比如下:

线性表
Insert(L,i,x)
(1≤i≤n+1)
Delete(L,i)
(1≤i≤n)
 线性表允许在表内任一位置进行插入和删除


Insert(L,n+1,x)
Delete(L,n)
 栈只允许在表尾一端进行插入和删除

队列
Insert(L,n+1,x)
Delete(L,1)
队列只允许在表尾一端进行插入,在表头一端进行删除

posted on 2015-05-30 16:33  星梦缘vs惜  阅读(162)  评论(0编辑  收藏  举报