CHAPTER_7 提高篇(1)——数据结构(1)
7.1.1栈的应用
栈是一种先进后出的数据结构。怎么理解先进后出呢,我们将栈理解为堆积木。我们放积木,都是从最底下一层一层开始堆,而拿的时候从最上层开始拿,这样越早堆的积木拿的也就越晚,这样实际上就是先进后出了。
栈的结构可以参考上图。我们看到,有一个栈顶指针TOP始终指着最上方的位置。栈顶指针是始 终指向栈的最上方元素的一个标记。假如我们的栈使用数组来实现,TOP就是一个int型的变量,它记录着数组最后一个元素(也就是栈顶元素)的下标位置。而当栈空时,TOP的值等于-1,标志着没有元素。
我们用数组实现的栈是顺序栈,实现的方法也很简单:定义一个足够长的数组用来存放元素,再定义栈顶指针TOP,并初始化TOP=-1表示栈空。我们接下来来看顺序栈的基本操作,包括:清空栈、获取栈的大小、判断栈是否空、元素进栈、元素出栈、获取栈顶元素。