Download presentation

Presentation is loading. Please wait.

Published byHailie Hurr Modified over 3 years ago

1
Computer Science and Software Engineering University of Wisconsin - Platteville 5. LinkedList Yan Shi CS/SE 2630 Lecture Notes

2
Linked List Unsorted List Sorted List Double linked list Circular linked list

3
Sorted and Unsorted Lists UNSORTED LIST Elements are placed into the list in no particular order. SORTED LIST List elements are in an order that is sorted in some way -- either numerically or alphabetically by the elements themselves, or by a component of the element (called a KEY member).

4
ADT Unsorted List Operations Transformers MakeEmpty PutItem DeleteItem Observers IsFull GetLength GetItem Iterators ResetList GetNextItem change state observe state process all

5
class UnsortedType MakeEmpty ~UnsortedType DeleteItem. PutItem UnsortedType GetItem GetNextItem X C L Private data: length 3 listData currentPos ?

6
Inserting B into an Unsorted List X C L Private data: length 3 listData currentPos ?

7
location = new NodeType; Private data: length 3 listData currentPos ? item location B X C L

8
location->info = item ; Private data: length 3 listData currentPos ? item location B B X C L

9
location->next = listData ; Private data: length 3 listData currentPos ? item location B B X C L

10
listData = location ; Private data: length 3 listData currentPos ? item location B B X C L

11
length++ ; Private data: length 4 listData currentPos ? item location B B X C L

12
Sorted Type Class Interface Diagram SortedType class IsFull GetLength ResetList DeleteItem InsertItem MakeEmpty GetItem Private data: length info [ 0 ] [ 1 ] [ 2 ] [MAX_ITEMS-1] currentPos GetNextItem

13
InsertItem algorithm for Sorted Array Based List Find proper location for the new element in the sorted list. Create space for the new element by moving down all the list elements that will follow it. Put the new element in the list. Increment length.

14
DeleteItem algorithm for Sorted Array Based List Find the location of the element to be deleted from the sorted list. Eliminate space occupied by the item by moving up all the list elements that follow it. Decrement length.

15
class SortedType MakeEmpty ~SortedType DeleteItem. InsertItem SortedType RetrieveItem GetNextItem C L X Private data: length 3 listData currentPos ?

16
InsertItem algorithm for Sorted Linked List Find proper position for the new element in the sorted list using two pointers predLoc and location, where predLoc trails behind location. Obtain a node for insertion and place item in it. Insert the node by adjusting pointers. Increment length.

17
The Inchworm Effect

18
Inserting S into a Sorted List C L X Private data: length 3 listData currentPos ? predLoc location moreToSearch

19
Finding proper position for S C L X Private data: length 3 listData currentPos ? predLoc location NULL moreToSearch true

20
Finding proper position for S C L X Private data: length 3 listData currentPos ? predLoc location moreToSearch true

21
Finding Proper Position for S C L X Private data: length 3 listData currentPos ? predLoc location moreToSearch false

22
Inserting S into Proper Position C L X Private data: length 4 listData currentPos predLoc location moreToSearch false S

23
What is a Circular Linked List? A circular linked list is a list in which every node has a successor; the last element is succeeded by the first element.

24
External Pointer to the Last Node

25
Why Circular Linked list? It doesnt make any operation much shorter or simpler… It is useful for applications that require access to both ends of the list.

26
What is a Doubly Linked List? A doubly linked list is a list in which each node is linked to both its successor and its predecessor.

27
Linking the New Node into the List

28
Deleting from a Doubly Linked List

29
What are Header and Trailer Nodes? A Header Node is a node at the beginning of a list that contains a key value smaller than any possible key. A Trailer Node is a node at the end of a list that contains a key larger than any possible key. Both header and trailer are placeholding nodes used to simplify list processing: we never have to handle special cases when inserting/deleting the first/end node.

30
A Sorted list Stored in an Array of Nodes

31
An Array with Linked List of Values and Free Space

Similar presentations

OK

1 Fall 2010 1 Chapter 4 ADT Sorted List. 2 Goals Describe the Abstract Data Type Sorted List from three perspectives Implement the following Sorted List.

1 Fall 2010 1 Chapter 4 ADT Sorted List. 2 Goals Describe the Abstract Data Type Sorted List from three perspectives Implement the following Sorted List.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on combination of resistances to change Ppt on 2 stroke ic engine parts Ppt on australian continental divide Ppt on recycling of waste in korea Ppt on indian road signs Download ppt on clothing a social history Ppt on image compression using matlab Ppt on chapter 3 drainage Ppt on revolt of 1857 in india Ppt on obesity diet foods