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.
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, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access