(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,
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?
Chapter D Solutions
MYPROGRAMMINGLAB WITH PEARSON ETEXT
Additional Engineering Textbook Solutions
Starting out with Visual C# (4th Edition)
Starting Out with Java: From Control Structures through Objects (6th Edition)
Software Engineering (10th Edition)
Starting Out with Python (4th Edition)
Java How To Program (Early Objects)
- What are the advantages and disadvantages of using an unordered array as opposed to an ordered one?arrow_forwardIN C PROGRAMMING LANGUAGE AND COMMENT EVERY LINE PLEASE SO I CAN UNDERSTAND EVERY STEP , The selection sort is one of several techniques for sorting an array. A selection sort compares every element of an array with all the other elements of the array and exchanges their values if they are out of order. After the first pass of a selection sort, the first array element is in the correct position; after the second pass the first two elements of the array are in the correct position, and so on. Thus, after each pass of a selection sort, the unsorted portion of the array contains one less element. Write and test a function that implements this sorting method.arrow_forwardInterpolation search By using interpolation search algorithm check if the given element exists in the integer one dimensional array return the index of it ( data structure in java)arrow_forward
- The given array is arr = {3,4,5,2,1}. The number of iterations in bubble sort and selection sort respectively are, a) 5 and 4 b) 4 and 5 c) 2 and 4 d) 2 and 5arrow_forwardarl = np.array([10,20,30,40]) ar2 = np.array([15,6,7]) np.vstack ( (arl,ar2)) The np.stack() function above will O a. Give error b. Stack the two arrays ar1 and ar2 horizontally c. Stack the two arrays ar1 and ar2 vertically O d. Sums the two arrays art and ar2arrow_forwardSelect only the correct answers * right wrong An array is a series of elements of the same type placed in contiguous memory locations that can be individually referenced by adding an index to a unique identifier. When working with nested loops, the inner loop changes only after the outer loop is completely finishedarrow_forward
- Multidimensional Array Enhanced For-loop Input Scanner method using Case-statements Simple AI as machine input 1. Declare a multidimensional array of char to draw a table -+-- -+-+- 2. Use the enhanced for-loop to display the table for (char[] row:charName) for (char c:row) System.out.print(c); } System.out.println (); 3. Initialize some value (inside the table) in the array charName [0] [0] '1'; 4. Using Scanner for user input and case statement to put some character inside the table Scanner scan = new Scanner (System.in); int pos = scan.nextInt (); 5. Create some method/function to be used to add functionality to the application program. 6. Add simple AI (for machine input) 7. Using Arraylist to scan patterns in the multidimensional array.arrow_forwardThe first element in each array is accessed with index number 0. (e.g., array[0]). Select one: True Falsearrow_forwardIn main() for now: do these - one at a time, each in it's own loop (we will make functions out of them later –Declare an array RandArray with 20 integers –Assign each of the 20 values with a random value from 0 to 99 Hint: Use rand()%100 For mimir: Do not call srand at the top of main. // normally: Call srand(time(0)) at the top of main –(you need #include<cstdlib>) –Write another loop that prints the array, with index values Important: If the output values do not match mimir, please add srand(17); // inside your main function - at the top code format: #include <iostream>using namespace std; #include <cstdlib> // required for rand() int main(){ srand(17); // define a constant ARRAYSIZE that is 20 // declare randArray // set the 20 elements in randArray to be a random number between 0 and 99 // hint: use rand()%100 // print the 20 values return 0;}arrow_forward
- one-dimensional array: Write the needed code to swap between the first element and last element in array intArray.arrow_forwardBest Partition You are given an array of positive numbers of size N and an integer K. You need to partition the array into K continuous segments. For each segment, the sum of its elements needs to be calculated. The segment with the minimum sum is called the bestSegment and the sum of the elements of the bestSegment is called the bestSum. For all possible combinations of partitions of the array when divided into K segments, their bestSum needs to be calculated and the one among them with maximum value needs to be returned. Input Specification: input1: an array of N positive numbers input2: an integer N denoting the length of the array input3: an integer K Output Specification: Return an integer denoting the maximum value of all possible bestSum. Example 1: input1: (1,2,3,4} input2: 4 input3: 2 Output: 4 Explanation: You can partition the given array into 2 continuous segments in the following manner- • 123 14- the sum of individual segments is (6,4) and the bestSum is 4 • 12134- the…arrow_forwardWhat occurs when a selection sort is applied to an array?arrow_forward
- 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