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 NITSkmOS#145
  • Loading branch information
123vivekr committed Oct 2, 2018
1 parent 1136931 commit fbf85e8
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ This repository contains examples of various algorithms written on different pro
| [Binary Search](https://en.wikipedia.org/wiki/Binary_search_algorithm) | | [:octocat:](binary_search/Cpp) | | [:octocat:](binary_search/Python) |
| [Bubble Sort](https://en.wikipedia.org/wiki/Bubble_sort) | [:octocat:](bubble_sort/C) | [:octocat:](bubble_sort/Cpp) | | |
| [Shell Sort](https://en.wikipedia.org/wiki/Shellsort) | | | | [:octocat:](shell_sort/Python) |

| [Selection 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>

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 fbf85e8

Please sign in to comment.