diff --git a/C/Sorting algorithm in C by Suryansh Sinha b/C/Sorting algorithm in C by Suryansh Sinha new file mode 100644 index 0000000..1c81368 --- /dev/null +++ b/C/Sorting algorithm in C by Suryansh Sinha @@ -0,0 +1,55 @@ +// C program to sort the array in an +// ascending order using selection sort + +#include + +void swap(int* xp, int* yp) +{ + int temp = *xp; + *xp = *yp; + *yp = temp; +} + +// Function to perform Selection Sort +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]); + } +} + +// 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 code +int main() +{ + int arr[] = { 0, 23, 14, 12, 9 }; + int n = sizeof(arr) / sizeof(arr[0]); + printf("Original array: \n"); + printArray(arr, n); + + selectionSort(arr, n); + printf("\nSorted array in Ascending order: \n"); + printArray(arr, n); + + return 0; +}