ch07 carrano java · 2010. 10. 26. · data abstraction and problem solving with java walls and...

19
Data Abstraction and Problem Solving with JAVA Walls and Mirrors Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Data Abstraction and Problem Solving with JAVA: Data Abstraction and Problem Solving with JAVA: Walls and Mirrors Walls and Mirrors Carrano Carrano / / Prichard Prichard Queues Queues

Upload: others

Post on 16-Oct-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and MirrorsFrank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Data Abstraction and Problem Solving with JAVA:Data Abstraction and Problem Solving with JAVA:Walls and MirrorsWalls and Mirrors

CarranoCarrano / / PrichardPrichard

QueuesQueues

Page 2: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure 7.1Figure 7.1Some queue operations

Page 3: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.27.2The results of inserting a string into both a queue and a stack

Page 4: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure 7.3aFigure 7.3aA reference-based implementation of a queue: a) a linear linked list with twoexternal references; b) a circular linear linked list with one external reference

Page 5: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure 7.3bFigure 7.3bA reference-based implementation of a queue: a) a linear linked list with twoexternal references; b) a circular linear linked list with one external reference

Page 6: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.47.4Inserting an item into a nonempty queue

Page 7: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.57.5Inserting an item into an empty queue: a) before insertion; b) after insertion

Page 8: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.67.6Deleting an item from a queue of more than one item

Page 9: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure 7.7Figure 7.7a) A naive array-based implementation of a queue; b) rightward drift can causethe queue to appear full

Page 10: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.87.8A circular implementation of a queue

Page 11: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.97.9The effect of some operations of the queue in Figure 7-8

Page 12: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.10a7.10aa) front passes back when the queue becomes empty

Page 13: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.10b7.10bb) back catches up to front when the queue becomes full

Page 14: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.117.11A more efficient circular implementation: a) a full queue; b) an empty queue

Page 15: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.127.12An implementation that uses the ADT list

Page 16: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.13a and 7.13b7.13a and 7.13bA blank line at at time a) 0; b) 12

Page 17: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure 7.13c and 7.13dFigure 7.13c and 7.13dA blank line at at time c) 20; d) 38

Page 18: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure Figure 7.147.14A typical instance of the event list

Page 19: Ch07 Carrano Java · 2010. 10. 26. · Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley Figure 7.1 Some

Data Abstraction and Problem Solving with JAVA Walls and Mirrors; Frank M. Carrano and Janet J. Prichard © 2001 Addison Wesley

Figure 7.15Figure 7.15A Partial trace of the bank simulation algorithm for the data 20 5 23 2 22 4 30 3