{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

This preview shows pages 1–7. Sign up to view the full content.

CSE 143 Lecture 10 Linked List Basics reading: 16.1 - 16.2 slides created by Marty Stepp http://www.cs.washington.edu/143/

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2 References vs. objects variable = value ; a variable (left side of = ) is an arrow (the base of an arrow) a value (right side of = ) is an object (a box; what an arrow points at) • For the list at right: – a.next = value ; means to adjust where points variable = a.next; means to make variable point at 10 next data a 20 next data 1 2 1 2
3 Reassigning references • when you say: – a.next = b.next; • you are saying: – "Make the variable a.next refer to the same value as b.next ." – Or, "Make a.next point to the same place that b.next points." 10 next data a 20 next data 30 next data b 40 next data

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
4 Linked node question • Suppose we have a long chain of list nodes: – We don't know exactly how long the chain is. • How would we print the data values in all the nodes? 10 next data 990 next data list ... 20 next data
5 Algorithm pseudocode • Start at the front of the list. • While (there are more nodes to print): – Print the current node's data . – Go to the next node. • How do we walk through the nodes of the list? list = list.next; // is this a good idea? 10 next data 990 next data list ... 20 next data

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
6 Traversing a list? • One (bad) way to print every value in the list:
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}