list general linear lists - top steptopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2...

35
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

Upload: others

Post on 15-Oct-2020

12 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

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

Page 2: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

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

Page 3: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

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

Page 4: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

4

insertion

Insertion is used to add a new element to the list

Data Structures: A Pseudocode Approach with C , Second Edition

Page 5: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

5

deletion

Deletion is used to remove an element from the list.

Data Structures: A Pseudocode Approach with C , Second Edition

Page 6: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

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

Page 7: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

7

traversal

List traversal processes each element in a list in sequence.

Data Structures: A Pseudocode Approach with C , Second Edition

Page 8: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

8

Implementation

Data Structures: A Pseudocode Approach with C , Second Edition

Page 9: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

9

Data structure

Data Structures: A Pseudocode Approach with C , Second Edition

Page 10: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

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

Page 11: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

11

Create list

Data Structures: A Pseudocode Approach with C , Second Edition

Page 12: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

12

Create list

Data Structures: A Pseudocode Approach with C , Second Edition

Page 13: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

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

Page 14: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

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

Page 15: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

15

Insert into empty list

Data Structures: A Pseudocode Approach with C , Second Edition

Page 16: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

16

Insert at beginning

Data Structures: A Pseudocode Approach with C , Second Edition

Page 17: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

17

Insert in middle

Data Structures: A Pseudocode Approach with C , Second Edition

Page 18: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

Data Structures: A Pseudocode Approach with C 18

Insert at end

Page 19: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

Data Structures: A Pseudocode Approach with C 19

Page 20: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

20

Delete node

Delete first node

General delete case

Data Structures: A Pseudocode Approach with C , Second Edition

Page 21: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

21

Delete first node

Data Structures: A Pseudocode Approach with C , Second Edition

Page 22: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

Data Structures: A Pseudocode Approach with C 22

Delete general case

Page 23: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

Data Structures: A Pseudocode Approach with C 23

Page 24: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

24

List search

Data Structures: A Pseudocode Approach with C , Second Edition

Page 25: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

25Data Structures: A Pseudocode Approach with C , Second Edition

Page 26: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

26Data Structures: A Pseudocode Approach with C , Second Edition

Page 27: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

27Data Structures: A Pseudocode Approach with C , Second Edition

Page 28: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

28

Retrieve node

Data Structures: A Pseudocode Approach with C , Second Edition

Page 29: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

29

Empty list

Data Structures: A Pseudocode Approach with C , Second Edition

Page 30: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

30

Full list

Data Structures: A Pseudocode Approach with C , Second Edition

Page 31: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

31

List count

Data Structures: A Pseudocode Approach with C , Second Edition

Page 32: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

32

Traversal list

Data Structures: A Pseudocode Approach with C , Second Edition

Page 33: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

33Data Structures: A Pseudocode Approach with C , Second Edition

Page 34: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

34Data Structures: A Pseudocode Approach with C , Second Edition

Page 35: List General Linear Lists - TOP STEPtopstep.weebly.com/uploads/2/4/9/4/24947581/chapter05.pdf · 2 General linear lists A general linear list is a list in which operations can be

35

Destroy list

Data Structures: A Pseudocode Approach with C , Second Edition