Java: An Introduction to Problem Solving and Programming (7th Edition)
Java: An Introduction to Problem Solving and Programming (7th Edition)
7th Edition
ISBN: 9780133766264
Author: Walter Savitch
Publisher: PEARSON
bartleby

Videos

Expert Solution & Answer
Book Icon
Chapter 7, Problem 16E

Explanation of Solution

Modified method definition for “selectionSort” method in Listing 7.10:

The modified method definition for “selectionSort” is given below:

/* Method definition for sorting the array using selection sort */

public static void selectionSort(int[] anArray, int first, int last)

{

/* Check the condition using "while" loop. The loop will perform up to "first <= last" */

    while(first <= last)

    {

/* Put the exact value in anArray[index]. Call the method "getIndexOfSmallest" with argument "first" and "anArray" and store the result into "indexOfNextSmallest" */          

int indexOfNextSmallest = getIndexOfSmallest(first, anArray);

/* Call the method "interchange" with given three arguments */

interchange(first, indexOfNextSmallest, anArray);

        /* Increment index of "first" */

        first++;

    }

}

Explanation:

The above method “selectionSort” is used to sort an array whose indices range from “first” to “last”.

  • • The method “selectionSort” contains three arguments “anArray”, “first” and “last”.
    • ○ First check the condition using “while” loop. This loop performs up to “first <= last”.
      • ■ Put the exact value in “anArray[index]”. Call the method “getIndexOfSmallest” with argument “first” and “anArray” and store the result into “indexOfNextSmallest”.
      • ■ Call the method “interchange” with given three arguments.
      • ■ Increment the index value of “first”.

Complete program:

The complete executable code for after modifying the “selectionSort” method of class “ArraySorter” in Listing 7.10 is given below:

Modified “ArraySorter.java”

/* Define "ArraySorter" class */

public class ArraySorter

{

/* Method definition for sorting the array using selection sort */

public static void selectionSort(int[] anArray, int first, int last)

    {

/* Check the condition using "while" loop. The loop will perform up to "first <= last" */

        while(first <= last)

        {

/* Put the exact value in anArray[index]. Call the method "getIndexOfSmallest" with argument "first" and "anArray" and store the result into "indexOfNextSmallest" */         

int indexOfNextSmallest = getIndexOfSmallest(first, anArray);

/* Call the method "interchange" with given three arguments */

interchange(first, indexOfNextSmallest, anArray);

            /* Increment index of "first" */

            first++;

        }

    }

/** Returns the index of the smallest value in the portion of the array that begins at the element whose index is startIndex and ends at the last element. */

/* Method definition for gets index of smallest element */

private static int getIndexOfSmallest(int startIndex, int[] a)

    {

        /* Assign minimum value */

        int min = a[startIndex];

        /* Assign index of minimum value */

        int indexOfMin = startIndex;

/* Compute the index of minimum value using "for" loop */

for (int index = startIndex + 1; index < a.length; index++)

        {

            if (a[index] < min)

            {

                min = a[index];

                indexOfMin = index;

// Assertion: min is smallest of a[startIndex] through a[index]

            }

        }

        /* Return index of minimum element */

        return indexOfMin;

    }

/** Precondition: i and j are valid indices for the array a...

Blurred answer
Students have asked these similar questions
No AI solutions please
No AI solutions please
No AI solutions please

Chapter 7 Solutions

Java: An Introduction to Problem Solving and Programming (7th Edition)

Additional Engineering Textbook Solutions

Find more solutions based on key concepts
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Definition of Array; Author: Neso Academy;https://www.youtube.com/watch?v=55l-aZ7_F24;License: Standard Youtube License