堆栈

在舒适地使用了数据结构数组和字典之后,我将探索诸如Stacks和Queues之类的不熟悉的数组。 在本文中,我们将重点介绍Stacks。 排队等待我有关队列的文章。

堆叠—遵循后进先出(LIFO)的顺序。

1. PUSH —只能将元素推到堆栈的顶部

2. POP —从堆栈顶部删除元素

3. PEEK-窥探堆栈顶部的元素

将一堆书想象成一堆书,但要用书本的内容代替书而不是书(而不是心脏……哈)。

在生活中,您不想遇到任何泛型,但是在为Stack编写代码时,我已经使用泛型实现了进一步的可重用性。

让我们大致了解一下实际发生的情况。 我们有一个变量数组,仅对我们正在使用的文件具有有限的访问权限。 在该数组中,每当我们添加一个元素时,该元素都会作为最后一个元素添加,如果您尝试删除元素,则最后一个添加的元素也会被删除。 最后,您只能看到堆栈中的最后一个元素。

这是Stacks的一个更有趣的版本。 我创建了一个名为Lannister的结构,然后继续创建三个相同类型的对象Lannister。 然后,我将这些元素放入Lannister堆栈中,并能够获得对我已推送的所有内容的描述。