Explanation of Solution
Given code:
//Assign the first element removed from the queue
int largest = q.remove();
//Execute loop till queue size
for (int i = 0; i < q.size() ; i++)
{
//Find largest
largest = Math.max(largest,q.remove ());
}
Error:
- The queue size is changing when the loop executes over it.
- The elements of the queue being examined are destroyed by this code.
Corrected code:
The above problem can be fixed by the below version of code,
//Create object for LinkedList
Queue<Integer> backup = new LinkedList<Integer>();
//Assign the first element removed from the queue
int largest = q.remove();
//Calculate the queue size
int size = q.size();
//Execute loop till queue size
for (int i = 0; i < size; i++)
{
//Assign the element removed from the queue
int n = q.remove();
/*Calculate and assign the maximum of previous and current element removed from the queue*/
largest = Math...
Want to see the full answer?
Check out a sample textbook solutionChapter 14 Solutions
Building Java Programs: A Back To Basics Approach (5th Edition)
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education