Instruction: Explain the function of the program line by line thoroughly. Program: #include using namespace std; //Swap function void swap(int *xp, int *yp) { int temp = *xp; *xp = *yp; *yp = temp; } void selectionSort(int arr[], int n) { int i, j, min_idx; // One by one move boundary of // unsorted subarray for (i = 0; i < n-1; i++) { // Find the minimum element in // unsorted array min_idx = i; for (j = i+1; j < n; j++) if (arr[j] < arr[min_idx]) min_idx = j; // Swap the found minimum element // with the first element if(min_idx!=i) swap(&arr[min_idx], &arr[i]); } } //Function to print an array void printArray(int arr[], int size) { int i; for (i=0; i < size; i++) cout << arr[i] << " "; cout << endl; } int main() { int x, n; cout << "Enter number of integers: "; cin >>n; int *arr = new int(n); for (int i = 0; i < n; i++) { cout << " Enter Integer No. " << (i + 1) << ": "; cin >> arr[i]; } selectionSort(arr, n); cout << "\nSorted Integers: "; printArray(arr, n); return 0;
Instruction: Explain the function of the program line by line thoroughly.
Program:
#include <iostream>
using namespace std;
//Swap function
void swap(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSort(int arr[], int n)
{
int i, j, min_idx;
// One by one move boundary of
// unsorted subarray
for (i = 0; i < n-1; i++)
{
// Find the minimum element in
// unsorted array
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
// Swap the found minimum element
// with the first element
if(min_idx!=i)
swap(&arr[min_idx], &arr[i]);
}
}
//Function to print an array
void printArray(int arr[], int size)
{
int i;
for (i=0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
int main()
{
int x, n;
cout << "Enter number of integers: ";
cin >>n;
int *arr = new int(n);
for (int i = 0; i < n; i++)
{
cout << " Enter Integer No. " << (i + 1) << ": ";
cin >> arr[i];
}
selectionSort(arr, n);
cout << "\nSorted Integers: ";
printArray(arr, n);
return 0;
}
Step by step
Solved in 4 steps with 1 images