From 4ab6324e404ad2808948fab242710456cc71f89f Mon Sep 17 00:00:00 2001 From: ajayram515 Date: Thu, 12 Oct 2017 16:46:29 +0530 Subject: [PATCH] Update selectionsort.c --- Sorting Algorithms/C:C++/selectionsort.c | 69 +++++++++++++++--------- 1 file changed, 45 insertions(+), 24 deletions(-) diff --git a/Sorting Algorithms/C:C++/selectionsort.c b/Sorting Algorithms/C:C++/selectionsort.c index 0f51dce8..9f590c1b 100644 --- a/Sorting Algorithms/C:C++/selectionsort.c +++ b/Sorting Algorithms/C:C++/selectionsort.c @@ -5,29 +5,50 @@ Write a function that selection sorts the array. Print the elements of sorted ar 2.Take Another N numbers as input and store them in an Array. 3.Sort the array using Selection Sort and print that Array. */ -#include - -using namespace std; - -int main(){ - int n,i,j; - cin>>n; - int a[10]; - for(i=0;i>a[i]; - } - for(i=0;i + +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 + swap(&arr[min_idx], &arr[i]); } -return 0; +} + +/* Function to print an array */ +void printArray(int arr[], int size) +{ + int i; + for (i=0; i < size; i++) + printf("%d ", arr[i]); + printf("\n"); +} + +// Driver program to test above functions +int main() +{ + int arr[] = {64, 25, 12, 22, 11}; + int n = sizeof(arr)/sizeof(arr[0]); + selectionSort(arr, n); + printf("Sorted array: \n"); + printArray(arr, n); + return 0; }