Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CompSci 105 SS 2005 Principles of Computer Science Lecture 11: Linked Lists Lecturer: Santokh Singh Assignment 2 due tomorrow, i.e. Friday 21 Jan 2005.

Similar presentations


Presentation on theme: "1 CompSci 105 SS 2005 Principles of Computer Science Lecture 11: Linked Lists Lecturer: Santokh Singh Assignment 2 due tomorrow, i.e. Friday 21 Jan 2005."— Presentation transcript:

1 1 CompSci 105 SS 2005 Principles of Computer Science Lecture 11: Linked Lists Lecturer: Santokh Singh Assignment 2 due tomorrow, i.e. Friday 21 Jan 2005 by 4 pm

2 2 Java Reference Variables Integer intRef = new Integer(5); intRef: Textbook, pp

3 3 What does equal mean?

4 4 Equality of References Integer p, q; p = new Integer(5); q = new Integer(5); if ( p == q ) println(Equal); else println(Not); p: q:

5 5 Equality of References Integer p, q; p = new Integer(5); if ( p.equals(q) ) println(Equal); else println(Not); p: q:

6 6 References and Objects Example: Parameter Passing Example: Resizable Arrays Linked Lists The Node class Lists as Recursive Structures Displaying a Linked List Inserting and Deleting Elements Implementing the ADT List

7 7 Example: Parameters public void changeNumber( Integer n ); { n = new Integer(5); } Integer p; p = new Integer(9); changeNumber(p); println(p); Textbook, pp. 157

8 8 Example: Arrays int[] a = new int[5]; a[0] = 3;

9 9 What is the output? int a = 3; int b = a; b = 4; System.out.println(a); int[] c = {3}; int[] d = c; d[0] = 4; System.out.println(c[0]); Textbook, pp. 155 Exercise L10.1

10 10 References and Objects Example: Parameter Passing Example: Resizable Arrays Linked Lists The Node class Lists as Recursive Structures Displaying a Linked List Inserting and Deleting Elements Implementing the ADT List

11 11 List ADT 1.Milk 2.Eggs 3.Butter 4.Apples 5.Bread 6.Chicken Textbook, p. 111ff createList() isEmpty() size() add( index, item) remove(index) removeAll() get(index)

12 12 A few list ADT operations list.get(3)

13 13 A few list ADT operations list.get(3) list.remove(3)

14 14 A few list ADT operations list.get(3) list.remove(3) list.add(3, butter)

15 15 A few list ADT operations list.get(3) list.remove(3) list.add(3, butter) list.add(3, beer)

16 16 Resizable Arrays Textbook, pp myArray: 0123

17 17 Resizable Arrays Textbook, pp myArray : 0123 tempArray:

18 18 Resizable Arrays Textbook, pp myArray: tempArray :

19 19 Resizable Arrays Textbook, pp myArray : tempArray :

20 20 Resizable Arrays Textbook, pp myArray : tempArray : See Java code in textbook on p. 158

21 21 References and Objects Example: Parameter Passing Example: Resizable Arrays Linked Lists The Node class Lists as Recursive Structures Displaying a Linked List Inserting and Deleting Elements Implementing the ADT List

22 22 A few list ADT operations list.get(3) list.remove(3) list.add(3, butter) list.add(3, beer)

23 23 A Node Data Structure public class Node { private Objectitem; private Nodenext; } Beer Wine Textbook, pp. 161

24 24 Recursive Definition Milk Eggs Butter Apples Bread Chicken A List is a first item, followed by a List

25 25 Terminology myList Beer Wine Milk

26 26 ListReferenceBased Class public class ListReferenceBased { private Node head; private int numItems; } Beer Wine Milk 3 Textbook, pp. 175

27 27 Node class public class Node { private Objectitem; private Nodenext; public Object getItem() {return item;} public Node getNext() {return next;} public void setItem(Object i) {item=i;} public void setNext(Node n) {next=n;} } Beer Textbook, pp. 161

28 28 References and Objects Example: Parameter Passing Example: Resizable Arrays Linked Lists The Node class Lists as Recursive Structures Displaying a Linked List Inserting and Deleting Elements Implementing the ADT List

29 29 public void printList( ) { Node curr = head; while (curr != null ) { System.out.println( curr.getItem() ); curr = curr.getNext(); } Beer Wine Milk head Textbook, pp. 164


Download ppt "1 CompSci 105 SS 2005 Principles of Computer Science Lecture 11: Linked Lists Lecturer: Santokh Singh Assignment 2 due tomorrow, i.e. Friday 21 Jan 2005."

Similar presentations


Ads by Google