Question
Implement the static method declared as follows and answer the questions below: /** * Reports the smallest integer in the given {@code Queue}. * *
Implement the static method declared as follows and answer the questions below: /** * Reports the smallest integer in the given {@code Queue}. * * @param q * the queue of integer * @return the smallest integer in the given queue * @requires q /= empty_string * @ensures
* min is in entries(q) and * for all x: integer * where (x is in entries(q)) * (min <= x) *
*/ private static int min(Queue q) {...} Why do you need the requires clause? Why is the first line of the ensures clause important (min is in entries(q))? Explain what the implementation could do if this line was not included in the postcondition. Implement the static method declared as follows: /** * Reports an array of two {@code int}s with the smallest and the * largest integer in the given {@code Queue}. * * @param q * the queue of integer * @return an array of two {@code int}s with the smallest and the * largest integer in the given queue * @requires q /= empty_string * @ensures
* { minAndMax[0], minAndMax[1] } is subset of entries(q) and * for all x: integer * where (x in in entries(q)) * (minAndMax[0] <= x <= minAndMax[1]) *
*/ private static int[] minAndMax(Queue q) {...} Note that because in Java a function can return only one value and it is not possible to return other values through the parameters, we are forced to return an array with the minimum and maximum integers of the given queue as elements. Consider the minAndMax operation again. Write a second implementation for this operation that uses the "Noah's Ark" algorithm. This algorithm takes entries from q in pairs, first comparing them to each other, then comparing the smaller of the pair to the minimum so far and the larger of the pair to the maximum so far.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started