4Stacks

In this chapter, we introduce the stack data structure, the operations supported by it and their implementations. Additionally, we illustrate two of its useful applications in computer science, namely, recursive programming and evaluation of expressions, among the innumerable available.

4.1. Introduction

A stack is an ordered list with the restriction that elements are added or deleted from only one end of the list termed the top of stack. The other end of the list that lies “inactive” is termed the bottom of stack.

Thus, if S is a stack with three elements a, b, c where c occupies the top of stack position, and if d were to be added, the resultant stack contents would be a, b, c, d. Note that d occupies the top of stack position. Again, initiating a delete or remove operation would automatically throw out the element occupying the top of the stack, namely, d. Figure 4.1 illustrates this functionality of the stack data structure.

Schematic illustration of stack and its functionality.

Figure 4.1. Stack and its functionality

It needs to be observed that during the insertion of elements into the stack, it is essential that their identities be specified, whereas for removal, no identity needs to be specified, since by virtue of its functionality, the element that occupies the top of the stack position is automatically removed.

The stack data structure therefore obeys the principle of Last In First Out (LIFO). In other words, ...

Get A Textbook of Data Structures and Algorithms, Volume 1 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.