栈呢,废话不多说,上图!


如上图,A B C D 争先恐后地从栈顶进入,A 跑的最快,所以他先到达栈底。B 紧随其后,接着是C ,然后是 D 。而这时候,A 被其他三个人压着喘不过气来了,他想出去,可是大家想想,他出的去吗?嘿嘿嘿,当然出不去呀,所以他只能等 B 走了......而 B 想出去,也得先等 C 走,C 想出去得等 D 走,而 D 么......想什么时候走就什么时候走!他就是那个最自由的男人!A B C 这时候肯定后悔了:早知道我在下一个人进来之前就出去了!
栈又名堆栈,总的来说,是一种仅在表尾进行插入和删除操作的线性表。我们学习过链表和顺序表,他们俩都是线性表,又可以对表尾进行增加和删除,那么,栈就可以用链表或者顺序表的方式来表示!
栈的“先进后出”原则
使用栈存储数据元素,对数据元素的“存”和“取”有严格的规定:数据按一定的顺序存储到栈中,当需要调取栈中某数据元素时,需要将在该数据元素之后进栈的数据元素先出栈,该数据元素才能从栈中提取出来。
如上图 ,栈中存放了 4 个数据元素,进栈的顺序是 A 先进栈,然后 B