栈和队列

        栈(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)
队列只允许在表尾一端进行插入,在表头一端进行删除

这世界上有一种鸟是没有脚的,它只能够一直的飞呀飞呀,飞累了就在风里面睡觉,这种鸟一辈子只能下地一次,那一次就是它死亡的时候。
原文地址:https://www.cnblogs.com/xuyinghui/p/4540571.html