Chapter 4: Stacks and Queues

4.2 Stack

4.2.1 The stack ADT
Stacks.pdf 1-2-3-4
example: push(3), push(4), pop()...
Stacks.pdf 5
html-4.10 (StackEmptyException)
Access to elements (avoid making a copy)
html-4.11 (Stack2)
4.2.2 A simple array-based implementation
Stacks.pdf 8-9
html-4.13 (ArrayStack1)
html-4.14 (ArrayStack2)
4.2.3 Implementing recursion and function call
Stacks.pdf 6-7

4.3 Queues

4.3.1 The queue ADT
Queues.pdf 3
example:
Queues.pdf 4
4.3.2 A simple array-based implementation
html-4.16 (Queue)
Queues.pdf 5-6-7-8
Queues.pdf 9-10

4.4 Linked lists

4.4.1 Singly linked lists
DataStructures.pdf 13
4.4.2 Implementing a stack with a singly linked list
html-4.18 (Node)
html-4.19 (LinkedStack1)
html-4.20 (LinkedStack2)
html-4.21 (LinkedStack3)
LinkedStack.cpp
4.4.3 Implementing a queue with a singly linked list
html-4.22 (LinkedQueue)

4.5 Double-ended queue (deque)

4.5.1 The deque ADT
4.5.2 Implementing a deque with a doubly linked list
html-4.23 (Node)
4.5.3 The adapter design pattern
html-4.24 (LinkedDeque1)
LinkedDeque.h, LinkedDeque.cpp
html-4.25 (DequeStack)