Skip to content

Commit

Permalink
selection_sort.c: Add Selection Sort in C
Browse files Browse the repository at this point in the history
This adds Selection Sort algorithm written in C

Closes #145
  • Loading branch information
123vivekr authored and sangamcse committed Oct 17, 2018
1 parent b861fff commit 1c5a6c4
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ This repository contains examples of various algorithms written on different pro
| [Heap Sort](https://en.wikipedia.org/wiki/Heapsort) | | | | [:octocat:](heap_sort/python) |
| [Maximum Subarray Problem](https://en.wikipedia.org/wiki/Maximum_subarray_problem) | | | | [:octocat:](/maximum_subarray/Python)|
| [Knapsack Problem](https://en.wikipedia.org/wiki/Knapsack_problem) | | | | [:octocat:](knapsack_problem/Python)|
| [Selecton Sort](https://en.wikipedia.org/wiki/Selection_sort) | [:octocat:](selection_sort/C) | | | |


## Implemented Data Structures
Expand Down
35 changes: 35 additions & 0 deletions selection_sort/C/selection_sort.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#include <stdio.h> // for printf function

void selection_sort(int[], int);
void print_array(int[], int);

int main() {
int arr[] = {4, 3, 42, 82, 5, 2, 33};
int n = sizeof(arr) / sizeof(arr[0]);
selection_sort(arr, n);
printf("Sorted array is: ");
print_array(arr, n);
printf("\n");
return 0;
}

/* Function to print array */
void print_array(int arr[], int n) {
for (int i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
}

/* Selection Sort algorithm */
void selection_sort(int arr[], int n) {
for (int i = 0; i < n - 1; ++i) {
int small = i;
for (int j = i + 1; j < n; ++j) {
if (arr[j] < arr[small])
small = j;
}
int temp = arr[i];
arr[i] = arr[small];
arr[small] = temp;
}
}

0 comments on commit 1c5a6c4

Please sign in to comment.