什么是栈:栈是一个先入后出的有序列表(单向通道)。栈允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。栈主要存放一些基本类型的变量数据,常用的局部变量的数据存在于栈内存中,栈中的数据是可以共享的,可以快速的存取,但是缺乏灵活性。因为栈中的数据大小与生命周期是可以确定的。而new出来的对象是放在堆中不是栈里面。
栈的特点:就像一个没有盖子的桶子,你先放入的物品会被压在栈底。而后放入的物品会在栈顶。
栈的定义是Stack类
例:字符 A 、 B 、 C 依次进入一个栈,按出栈的先后顺序组成不同的字符串
A进A出,B进B出,C进C出,即ABC
A进A出,B进,C进,C出,B出,即ACB
A进,B进,B出,A出,C进C出,即BAC
A进,B进,B出,C进,C出,A出,即BCA
A进,B进,C进,C出,B出,A出,即CBA
A进,B进,C进,C出, A出,B出不符合栈的先入后出顺序所以不对,且A不会在B之上。