Question of the Day
A friend tells the truth when saying:
A road near my house runs directly north-south; I get on the road facing north, drive for a mile, & end up south of where I started
How does he do it?
Question of the Day
A friend tells the truth when saying:
A road near my house runs directly north-south; I get on the road facing north, drive for a mile, & end up south of where I started
How does he do it?
Note: He (anyone) doesn't live near the north pole
Question of the Day
A friend tells the truth when saying:
A road near my house runs directly north-south; I get on the road facing north, drive for a mile, & end up south of where I started
How does he do it?
Note: He (anyone) doesn't live near the north pole
Your friend drives in reverse!
LECTURE 18:TRAVERSING A LIST & MORE LINKED-LISTS
Are created using linear sequence of nodes
Each Node contains: Reference to data (element) stored in Node Link to next Node in linked list
Singly Linked List
Nodes Are Not Enough
Nodes are workers making linked lists possible Necessary for the smooth running of linked
list Treated like other jobs smoothing
things out Added & removed as needed Used only to keep the list running
Nodes Are Not Enough
Nodes Are Not Enough
Nodes Are Not Enough
Nodes are workers making linked lists possible Necessary for the smooth running of linked
list Treated like other jobs smoothing
things out Added & removed as needed Used only to keep the list running Never allowed outside of the linked
list
Nodes Are Not Enough
Nodes are workers making linked lists possible Necessary for the smooth running of linked
list Treated like other jobs smoothing
things out Added & removed as needed Used only to keep the list running Never allowed outside of the linked list Has to teach CSC212 every year
T removeFirst()
T removeFirst()SLinkedListhead
size 4
SLinkedListhead
size 3
T removeMiddle(Node<T> prev)SLinkedListhead
size 4
SLinkedListhead
size 3
Traversing a List
Often need to go through items in a list Return element stored by the nth Node Search and find if element is in list Count elements larger/smaller/equal than
some value Add an element at list’s end
Cannot do this directly with linked lists Arrays have brackets, but linked lists use
objects Must traverse list by travelling from Node to Node
Relies heavily on understanding how objects work
void addLast(T el)SLinkedListhead
size 4
SLinkedListhead
size 5
Link to previous node in list also in each node
Each DNode contains: Element (data) reference Link to next DNode Prev(ious) DNode also linked
Doubly Linked List
elem
DNode Instance
nextprev
Link to previous node in list also in each node
Each DNode contains: Element (data) reference Link to next DNode Prev(ious) DNode also linked
Doubly Linked List
Doubly Linked List With 4 Elements
Ø
Link to previous node in list also in each node
Each DNode contains: Element (data) reference Link to next DNode Prev(ious) DNode also linked
Doubly Linked List
Sequence of 4 DNodes
Ø
Link to previous node in list also in each node
Each DNode contains: Element (data) reference Link to next DNode Prev(ious) DNode also linked
Doubly Linked List
Doubly Linked List With 4 Elements & Sentinels
Ø Ø
Link to previous node in list also in each node
Each DNode contains: Element (data) reference Link to next DNode Prev(ious) DNode also linked
Doubly Linked List
Doubly Linked List With 4 Elements & Sentinels
DListheadtailsize 4
Ø Ø
Doubly Linked List
DNode could extend Node next & elem fields are needed by both
classes Only difference is prev field added by DNode
DList is not subclass of SList Both classes define identical methods… …are entirely different when implemented
1
Identical nodes as singly or doubly linked list This example shows singly linked variety
Reference to first node stored in last node
Notice this becomes a big circle Now you know idea behind name
Circular Linked List
B C D
head
A
Your Turn
Get into your groups and complete activity
For Next Lecture
Read GT3.5 for Wednesday What is recursion? Why does recursion rock so much? How do you write a recursive method?
Week #7 weekly assignment available now
Angel also has programming assignment #1 Pulls everything together and shows off
your stuff
Top Related