Skip to content

Commit af3466b

Browse files
Added C folder
1 parent 257a290 commit af3466b

7 files changed

+142
-1
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
/Ruby/main
1+
/Ruby/main
2+
.vscode

C/a.exe

379 KB
Binary file not shown.

C/binary-search.c

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#include <stdio.h>
2+
3+
int binarySearch(int array[], int size, int item) {
4+
int l = 0;
5+
int r = size - 1;
6+
7+
while(l<=r) {
8+
int mid = l + (r-l) / 2;
9+
10+
if(array[mid] == item) {
11+
return mid;
12+
}
13+
else if(array[mid] > item) {
14+
r = mid - 1;
15+
}
16+
else {
17+
l = mid + 1;
18+
}
19+
}
20+
return -1;
21+
}
22+
23+
24+
int main() {
25+
int array[] = {1, 2, 3, 4};
26+
int size = sizeof(array) / sizeof(array[0]);
27+
int item = 1;
28+
29+
int result = binarySearch(array, size, item);
30+
31+
32+
printf("%d\n", result);
33+
return 0;
34+
}

C/bubble-sort.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include <stdio.h>
2+
3+
void bubbleSort(int array[], int size) {
4+
for(int i=0;i<size;i++) {
5+
for(int j=i+1;j<size;j++) {
6+
if(array[i] > array[j]) {
7+
int temp = array[i];
8+
array[i] = array[j];
9+
array[j] = temp;
10+
}
11+
}
12+
}
13+
14+
for(int i=0;i<size;i++) {
15+
printf("%d\t", array[i]);
16+
}
17+
}
18+
19+
int main() {
20+
int array[] = {2, 1, 3, 54, -3, 6, 9};
21+
int size = sizeof(array) / sizeof(array[0]);
22+
23+
bubbleSort(array, size);
24+
25+
return 0;
26+
}

C/insertion-sort.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <stdio.h>
2+
3+
void insertionSort(int array[], int size) {
4+
for(int i=1;i<size;i++) {
5+
int j=i-1;
6+
7+
while(j>=0 && array[j] > array[j+1]) {
8+
int temp = array[j];
9+
array[j] = array[j+1];
10+
array[j+1] = temp;
11+
j--;
12+
}
13+
}
14+
15+
for(int i=0;i<size;i++) {
16+
printf("%d\t", array[i]);
17+
}
18+
}
19+
20+
int main() {
21+
int array[] = {4, -34, 6, 3, 6, 5, 6, 3};
22+
int size = sizeof(array) / sizeof(array[0]);
23+
24+
insertionSort(array, size);
25+
26+
return 0;
27+
}

C/linear-search.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#include <stdio.h>
2+
3+
int linear_search(int array[], int size, int item) {
4+
for(int i=0;i<size;i++) {
5+
if(array[i] == item) {
6+
return i;
7+
}
8+
}
9+
return -1;
10+
}
11+
12+
int main() {
13+
int array[] = {1, 2, 3, 4};
14+
int size = sizeof(array) / sizeof(array[0]);
15+
int item = 3;
16+
17+
int result = linear_search(array, size, item);
18+
19+
printf("%d\n", result);
20+
21+
return 0;
22+
}

C/selection-sort.c

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include <stdio.h>
2+
3+
void selectionSort(int array[], int size) {
4+
for(int i=0;i<size;i++) {
5+
int min = i;
6+
for(int j=i+1;j<size;j++) {
7+
if(array[j] < array[min]) {
8+
min = j;
9+
}
10+
}
11+
12+
if(i != min) {
13+
int temp = array[i];
14+
array[i] = array[min];
15+
array[min] = temp;
16+
}
17+
}
18+
19+
for(int i=0;i<size;i++) {
20+
printf("%d\t", array[i]);
21+
}
22+
}
23+
24+
int main() {
25+
int array[] = {4, 2, 6, 2, 7, -45, 8};
26+
int size = sizeof(array) / sizeof(array[0]);
27+
28+
selectionSort(array, size);
29+
30+
return 0;
31+
}

0 commit comments

Comments
 (0)