Overview
Chapter 17 introduces students to the linked list data structure. Until this point, students
have used sequential lists, or arrays, to manipulate a group of items of the same type. In
this chapter, they will explore how to use linked lists to overcome some of the
performance and efficiency issues of arrays. Students will learn how to build and
manipulate a linked list, as well as examine how to perform various operations on them.
They will also be introduced to various types of linked lists, including the doubly linked
list and the circular linked list.
Objectives
In this chapter, the student will:
• Learn about linked lists
• Become familiar with the basic properties of linked lists
• Explore the insertion and deletion operations on linked lists
• Discover how to build and manipulate a linked list
• Learn how to implement linked lists as ADTs
• Learn how to create linked list iterators
• Learn how to implement the basic operations on a linked list
• Learn how to create unordered linked lists
• Learn how to create ordered linked lists
• Learn how to construct a doubly linked list
• Become familiar with circular linked lists
Teaching Tips
Linked Lists
Review the performance of various array operations before discussing linked
lists. Explain that insertions and deletions are inefficient on arrays, and that
searching can be inefficient as well if the array is not already sorted.
1. Define a linked list as a collection of nodes. Explain that each node contains the data as
well as the address of the next node in the list.
2. Use Figures 17-1 through 17-3 to illustrate a linked list graphically.