Selection Sort In C++
The selection sort algorithm sorts an array by
repeatedly finding the minimum element (considering ascending order) from
unsorted part and putting it at the beginning. The algorithm maintains two
subarrays in a given array.
1)The
subarray which is already sorted.
2) Remaining subarray which is unsorted.
Program:
#include<iostream.h>
#include<conio.h>
void swap(int *xp, int
*yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSort(int
arr[], int n)
{
int i, j, min_idx;
for (i = 0; i < n-1; i++)
{
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
swap(&arr[min_idx], &arr[i]);
}
}
void printArray(int
arr[], int size)
{
int i;
for (i=0; i < size; i++)
cout << arr[i] << " ";
cout << endl;
}
void main()
{
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr)/sizeof(arr[0]);
selectionSort(arr, n);
cout << "Sorted array: \n";
printArray(arr, n);
getch();
}
Output:
Sorted array
11 12 22 25 64
No comments:
Post a Comment