Overview of this book

Explore a new world of data structures and their applications easily with this data structures book. Written by software expert William Smith, you?ll learn how to master basic and advanced data structure concepts. ? Fully understand data structures using Java, C and other common languages ? Work through practical examples and learn real-world applications ? Get to grips with data structure problem solving using case studies
Everyday Data Structures
Credits
www.PacktPub.com
Customer Feedback
Preface
Free Chapter
Data Types: Foundational Structures
Arrays: Foundational Collections
Lists: Linear Collections
Stacks: LIFO Collections
Queues: FIFO Collections
Dictionaries: Keyed Collections
Sets: No Duplicates
Structs: Complex Types
Trees: Non-Linear Structures
Heaps: Ordered Trees
Graphs: Values with Relationships
Sorting: Bringing Order Out Of Chaos
Searching: Finding What You Need

Chapter 3. Lists: Linear Collections

In our last chapter, we introduced the array data structure upon which many of the structures we will examine in this text are based. Although arrays provide good performance for static collections of data, our coding examples proved that they are inflexible and inefficient for many applications--so much so that even something as simple as adding or deleting an element from a collection is an extremely complex and costly operation.

Lists are, in some ways, an evolution of the array. A list can be defined as a finite, ordered series of objects or values called elements. An empty list is a list with no elements, while the length of a list is the total number of elements in the collection. The first item in a list is called the head, while the last item is called the tail. In a list with a length of 1, the head and tail are the same object.

Note

While arrays are a concrete data structure, a list is an abstract concept of a data structure that many languages...