aboutsummaryrefslogtreecommitdiff
path: root/sem3/algo/lek1/merge.c
diff options
context:
space:
mode:
Diffstat (limited to 'sem3/algo/lek1/merge.c')
-rw-r--r--sem3/algo/lek1/merge.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/sem3/algo/lek1/merge.c b/sem3/algo/lek1/merge.c
index 997bcb8..945b86a 100644
--- a/sem3/algo/lek1/merge.c
+++ b/sem3/algo/lek1/merge.c
@@ -6,24 +6,26 @@
#define DO_PRINT 0
-void printArr(int *arr, size_t len) {
+void printArr(int *arr, size_t len)
+{
printf("{");
- for(int i = 0; i < len; i++) {
+ for (int i = 0; i < len; i++) {
printf(" %d%s", arr[i], i+1 == len ? " " : ",");
}
printf("}\n");
}
-int *genArr(size_t len, int div) {
+int *genArr(size_t len, int div)
+{
/* Make array */
int *arr = (int *) malloc(len * sizeof(int));
- if( arr == NULL) {
+ if (arr == NULL) {
return NULL;
}
/* Fill it with random */
- while( len-- ) {
+ while (len--) {
arr[len] = div - (rand() % (div*2));
}
@@ -31,7 +33,8 @@ int *genArr(size_t len, int div) {
}
-int mergeSort(int *arr, size_t len) {
+int mergeSort(int *arr, size_t len)
+{
/* Check if len is one(then it's sorted */
if (len <= 1) {
return 0;
@@ -42,11 +45,11 @@ int mergeSort(int *arr, size_t len) {
/* Make arrays */
int *left = (int *) malloc(q * sizeof(int));
- if( left == NULL ) {
+ if (left == NULL) {
return 1;
}
int *right = (int *) malloc(rl * sizeof(int));
- if( right == NULL ) {
+ if (right == NULL) {
return 1;
}
@@ -59,8 +62,8 @@ int mergeSort(int *arr, size_t len) {
mergeSort(right, rl);
/* Merge them into arr */
- for(int i=0, j=0, k = 0; k < len; k++) {
- if( i < q && ( j == rl || left[i] <= right[j] ) ) {
+ for (int i=0, j=0, k = 0; k < len; k++) {
+ if ( i < q && ( j == rl || left[i] <= right[j] ) ) {
arr[k] = left[ i++ ];
} else {
arr[k] = right[ j++ ];
@@ -74,7 +77,8 @@ int mergeSort(int *arr, size_t len) {
return 0;
}
-void test(size_t len) {
+void test(size_t len)
+{
int *a = genArr(len, len);
@@ -97,7 +101,8 @@ void test(size_t len) {
free(a);
}
-void bench() {
+void bench()
+{
size_t len = SIZE_MAX;
@@ -107,7 +112,8 @@ void bench() {
}
}
-int main(void) {
+int main(void)
+{
bench();