Skip to content

Commit 7092b0e

Browse files
authored
Merge pull request kelvins#306 from JMJ2312/selectionSort/in-c
Added Selection Sort for C language
2 parents 0b6e77b + 6cc22c0 commit 7092b0e

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3319,8 +3319,8 @@ In order to achieve greater coverage and encourage more people to contribute to
33193319
<tr>
33203320
<td><a href="https://en.wikipedia.org/wiki/Selection_sort">Selection Sort</a></td>
33213321
<td> <!-- C -->
3322-
<a href="./CONTRIBUTING.md">
3323-
<img align="center" height="25" src="./logos/github.svg" />
3322+
<a href="./src/c/SelectionSort.c">
3323+
<img align="center" height="25" src="./logos/c.svg" />
33243324
</a>
33253325
</td>
33263326
<td> <!-- C++ -->

src/c/SelectionSort.c

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include <stdio.h>
2+
3+
void swap(int array[], int i, int j)
4+
{
5+
int temp = array[i];
6+
array[i] = array[j];
7+
array[j] = temp;
8+
}
9+
10+
void selection_sort(int array[], int n)
11+
{
12+
int min, i, j;
13+
for (i = 0; i < n; i++)
14+
{
15+
min = i;
16+
for (j = i + 1; j < n; j++)
17+
{
18+
if (array[min] > array[j])
19+
{
20+
min = j;
21+
}
22+
}
23+
if (min != i)
24+
swap(array, min, i);
25+
}
26+
}
27+
28+
int main()
29+
{
30+
int array_size = 10;
31+
int array[10] = {45, 7, 125, 18, 3, 5, 11, 107, 60, 4};
32+
33+
selection_sort(array, array_size);
34+
35+
printf("Sorted Array:\n");
36+
int i;
37+
for (i = 0; i < array_size; i++)
38+
printf("%d ", array[i]);
39+
40+
return 0;
41+
}

0 commit comments

Comments
 (0)