C How to Program (8th Edition)
C How to Program (8th Edition)
8th Edition
ISBN: 9780133976892
Author: Paul J. Deitel, Harvey Deitel
Publisher: PEARSON
bartleby

Videos

Textbook Question
Book Icon
Chapter D, Problem D.5E

(Recursive Selection Sort) A selection sort searches an array looking for the smallest element in the array. When that element is found, it’s swapped with the first element of the array. The process is then repeated for the subarray, beginning with the second element. Each pass of the array results in one element being placed in its proper location. This sort requires processing capabilities similar to those of the bubble sort—for an array of n elements, n 1 passes must be made, and for each subarray, n 1 comparisons must be made to find the smallest value. When the subarray being processed contains one element, the array is sorted. Write a recursive function selectionsort to perform this algorithm.

Expert Solution & Answer
Check Mark
Program Plan Intro

Program Plan-

  • Define Header files.
  • Define selectionSort()function.
    • Define local variables.
    • Checking the condition using for() loop till the iteration i is less than 6.
    • Display result.
    • Checking the condition using if-else() loop.
    • Checking the second element with first element.
  • Declare main() function.
  • Declare local variable.
  • Checking the condition using for() loop till the iteration i is less than 6
  • Calling selectionSort() function.
  • Return successfully to main().

Summary Introduction- (Recursive Selection Sort)A selection sort searches an array looking for the smallest element in the array. When the element is found, it is swapped with the first element of the array. The process is repeated for the sub-array beginning with the second element of the array. Each pass of the array results in one element being placed in its proper location. This sort requires processing capabilities similar to those of bubble sort.

Program Description- The purpose of the program is to implement the recursive selection sort.

Explanation of Solution

Modified program:

/*
 *This program to implement the recursive selection sort.
*/

#include<stdio.h>

//recursive definition for selcetion sort
void selectionSort ( int a[], int size, int i, int j)
{
    //declare local variable
    int temp;
    //checking the condtion using if-else loop
    if(i==size)
    {
        //iteration gets executed till value of i is less than 6
        for(i=0; i<6; i++)

            //Displaying result
            printf("%d ",a[i]);
        return; //return successfully
    }
    else
    {
        //checking the condition using if-else() loop
        if(j<size)
        {
//checking the second element with first //element
            if(a[i]>a[j])
            {
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }

//function call
//calling function with parameters
            selectionSort(a,size,i,j+1);
        }

        else
        {
//function call
            selectionSort(a,size,i+1,i+1);
        }
    }
}
//Define main() function
int main(int argc, char *argv[])
{
//Declare local variables
    int arr[6],i,min,j,temp;
    printf("Enter the elements of array\n");

//Asking user to enter elements
//Executing for() loop
    for (i=0; i<6; i++)
    {
        printf("Element %d: ",i+1);
        scanf("%d",&arr[i]);
    }
//sorting the value
    selectionSort(arr,6,0,1);

    return 0; //return successfully
}

Sample Output-

Sample Output:

Enter the element of array

Element 1:37

Element 2:2

Element 3:6

Element 4:4

Element 5:89

Element 6:8

2 4 6 8 37 89

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
3. Problem Description: Define the Circle2D class that contains: Two double data fields named x and y that specify the center of the circle with get methods. • A data field radius with a get method. • A no-arg constructor that creates a default circle with (0, 0) for (x, y) and 1 for radius. • A constructor that creates a circle with the specified x, y, and radius. • A method getArea() that returns the area of the circle. • A method getPerimeter() that returns the perimeter of the circle. • • • A method contains(double x, double y) that returns true if the specified point (x, y) is inside this circle. See Figure (a). A method contains(Circle2D circle) that returns true if the specified circle is inside this circle. See Figure (b). A method overlaps (Circle2D circle) that returns true if the specified circle overlaps with this circle. See the figure below. р O со (a) (b) (c)< Figure (a) A point is inside the circle. (b) A circle is inside another circle. (c) A circle overlaps another…
1. Explain in detail with examples each of the following fundamental security design principles: economy of mechanism, fail-safe default, complete mediation, open design, separation of privilege, least privilege, least common mechanism, psychological acceptability, isolation, encapsulation, modularity, layering, and least astonishment.
Security in general means the protection of an asset. In the context of computer and network security, explore and explain what assets must be protected within an online university. What the threats are to the security of these assets, and what countermeasures are available to mitigate and protect the organization from such threats. For each of the assets you identify, assign an impact level (low, moderate, or high) for the loss of confidentiality, availability, and integrity. Justify your answers.
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
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
1.1 Arrays in Data Structure | Declaration, Initialization, Memory representation; Author: Jenny's lectures CS/IT NET&JRF;https://www.youtube.com/watch?v=AT14lCXuMKI;License: Standard YouTube License, CC-BY
Definition of Array; Author: Neso Academy;https://www.youtube.com/watch?v=55l-aZ7_F24;License: Standard Youtube License