数据结构之栈(Stack)和队列(Queue)

一、栈

在日常生活中有不少类似于栈的例如,例如有一个很窄的死胡同,其宽度只能容纳一辆车通行,现有3辆车,分别编号为①-③,按编号顺序依次进入此胡同,若要推出②号车,就必须退出③号车,依次类推,如果要退出①号,就得依次退出③、②。所以,这个死胡同就是一个栈。如下图

数据结构之栈(Stack)和队列(Queue)数据结构之栈(Stack)和队列(Queue)

栈是限制仅在表的一端进行插入和删除操作的线性表。允许进行插入和删除的一端称为栈顶,不允许的一端则为栈底。不含元素的空表称为空栈。

栈的特点是后进先出(Last In First Out),因此栈又称为后进先出的线性表,简称为LIFO线性表。

二、队列