Upload
others
View
9
Download
1
Embed Size (px)
Citation preview
Data Structures: A Pseudocode Approach with C , Second Edition 1
Chapter 5
Objectives
Upon completion you will be able to:
• Explain the design, use, and operation of a linear list
• Implement a linear list using a linked list structure
• Understand the operation of the linear list ADT
• Write application programs using the linear list ADT
• Design and implement different link-list structures
List
General Linear Lists
2
General linear lists
A general linear list is a list in which operations can be done anywhere in the list.
For simplicity, we refer to general linear lists as lists.
Data Structures: A Pseudocode Approach with C , Second Edition
3
5-1 Basic Operations
We begin with a discussion of the basic list operations. Each
operation is developed using before and after figures to show
the changes.
• Insertion
• Deletion
• Retrieval
• Traversal
Data Structures: A Pseudocode Approach with C , Second Edition
4
insertion
Insertion is used to add a new element to the list
Data Structures: A Pseudocode Approach with C , Second Edition
5
deletion
Deletion is used to remove an element from the list.
Data Structures: A Pseudocode Approach with C , Second Edition
6
retrieval
Retrieval is used to get the information related to an element
without changing the structure of the list.
Data Structures: A Pseudocode Approach with C , Second Edition
7
traversal
List traversal processes each element in a list in sequence.
Data Structures: A Pseudocode Approach with C , Second Edition
8
Implementation
Data Structures: A Pseudocode Approach with C , Second Edition
9
Data structure
Data Structures: A Pseudocode Approach with C , Second Edition
10
Algorithms
Create list
Insert node
Delete node
List search
Retrieve node
Empty list
Full list
List count
Traverse list
Destroy list
Data Structures: A Pseudocode Approach with C , Second Edition
11
Create list
Data Structures: A Pseudocode Approach with C , Second Edition
12
Create list
Data Structures: A Pseudocode Approach with C , Second Edition
13
Insert node
Only its logical predecessor is needed.
There are three steps to the insertion:
1. Allocate memory for the new node and move data to the node.
2. Point the new node to its successor.
3. Point the new node’s predecessor to the new node.
Data Structures: A Pseudocode Approach with C , Second Edition
14
Insert node
Insert into empty list
Insert at beginning
Insert in middle
Insert at end
Data Structures: A Pseudocode Approach with C , Second Edition
15
Insert into empty list
Data Structures: A Pseudocode Approach with C , Second Edition
16
Insert at beginning
Data Structures: A Pseudocode Approach with C , Second Edition
17
Insert in middle
Data Structures: A Pseudocode Approach with C , Second Edition
Data Structures: A Pseudocode Approach with C 18
Insert at end
Data Structures: A Pseudocode Approach with C 19
20
Delete node
Delete first node
General delete case
Data Structures: A Pseudocode Approach with C , Second Edition
21
Delete first node
Data Structures: A Pseudocode Approach with C , Second Edition
Data Structures: A Pseudocode Approach with C 22
Delete general case
Data Structures: A Pseudocode Approach with C 23
24
List search
Data Structures: A Pseudocode Approach with C , Second Edition
25Data Structures: A Pseudocode Approach with C , Second Edition
26Data Structures: A Pseudocode Approach with C , Second Edition
27Data Structures: A Pseudocode Approach with C , Second Edition
28
Retrieve node
Data Structures: A Pseudocode Approach with C , Second Edition
29
Empty list
Data Structures: A Pseudocode Approach with C , Second Edition
30
Full list
Data Structures: A Pseudocode Approach with C , Second Edition
31
List count
Data Structures: A Pseudocode Approach with C , Second Edition
32
Traversal list
Data Structures: A Pseudocode Approach with C , Second Edition
33Data Structures: A Pseudocode Approach with C , Second Edition
34Data Structures: A Pseudocode Approach with C , Second Edition
35
Destroy list
Data Structures: A Pseudocode Approach with C , Second Edition