From 5de89dcab79fbea5f8862358a2b7f7f034706320 Mon Sep 17 00:00:00 2001
From: ryanyonata <ryan.yonata@gmail.com>
Date: Fri, 19 Feb 2016 18:21:27 +0700
Subject: [PATCH] Finished Bucket Sort

---
 Praktikum3_13513006_13513074.pdf | Bin 0 -> 49306 bytes
 bucket_sort.c                    | 121 +++++++++++++++++++++++++++++++
 2 files changed, 121 insertions(+)
 create mode 100644 Praktikum3_13513006_13513074.pdf
 create mode 100644 bucket_sort.c

diff --git a/Praktikum3_13513006_13513074.pdf b/Praktikum3_13513006_13513074.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..516e4d68064c3b6dcba30fc95e6c9ae4c56e054d
GIT binary patch
literal 49306
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

literal 0
HcmV?d00001

diff --git a/bucket_sort.c b/bucket_sort.c
new file mode 100644
index 0000000..7d37dba
--- /dev/null
+++ b/bucket_sort.c
@@ -0,0 +1,121 @@
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <omp.h>
+
+const int MAX_VALUE = 2000000;
+
+typedef struct {
+  int* arr;
+  int n;
+  int min;
+  int max;
+} Bucket;
+
+void pushToBucket(Bucket* b, int x) {
+  b->arr[b->n++] = x;
+}
+
+void sort(int* arr, int n) {
+  int c, d, t;
+  for (c = 1 ; c <= n - 1; c++) {
+    d = c;
+
+    while ( d > 0 && arr[d] < arr[d-1]) {
+      t = arr[d];
+      arr[d]   = arr[d-1];
+      arr[d-1] = t;
+
+      d--;
+    }
+  }
+}
+
+int* create_rand_nums(int num_elements, int* min, int* max) {
+    int *rand_nums = (int *)malloc(sizeof(int) * num_elements);
+    int i;
+
+    srand(time(NULL));
+    rand_nums[0] = rand() % MAX_VALUE;
+    *min = rand_nums[0];
+    *max = rand_nums[0];
+
+    for (i = 1; i < num_elements; i++) {
+        rand_nums[i] = rand() % MAX_VALUE;
+        if (*max < rand_nums[i]) {
+          *max = rand_nums[i];
+        }
+        if (*min > rand_nums[i]) {
+          *min = rand_nums[i];
+        }
+    }
+    return rand_nums;
+}
+
+
+int main(int argc, char* argv[]) {
+	if (argc != 3) {
+		fprintf(stderr, "Usage: [num_element] [num_thread]");
+		exit(1);
+	}
+
+	clock_t begin, end;
+  	begin = clock();
+
+	int i, j;
+	int nElement = atoi(argv[1]);
+	int nThread = atoi(argv[2]);
+	int min, max;
+	int* rand_nums = create_rand_nums(nElement, &min, &max);
+
+	Bucket bucket[nThread - 1];
+
+	int step = (int) ceil((float)(max - min) / (float)(nThread-1));
+	bucket[0].min = min;
+	bucket[0].max = min + step;
+	bucket[0].arr = (int*) malloc(sizeof(int) * nElement);
+	bucket[0].n = 0;
+
+	for (i = 1; i < nThread - 1; i++) {
+		bucket[i].min = bucket[i - 1].max + 1;
+       		bucket[i].max = bucket[i].min + step;
+       		bucket[i].arr = (int*) malloc(sizeof(int) * nElement);
+       		bucket[i].n = 0;
+	}
+
+	for (i = 0; i < nElement; i++) {
+		for (j = 0; j < nThread - 1; j++) {
+			if (rand_nums[i] <= bucket[j].max && rand_nums[i] >= bucket[j].min) {
+				pushToBucket(&bucket[j], rand_nums[i]);
+				break;
+			}
+		}
+	}
+
+	#pragma omp parallel for num_threads(nThread)
+	for (i = 0; i < nThread; i++) {
+		sort(bucket[i].arr, bucket[i].n);
+	}
+
+	int* result = (int*) malloc(sizeof(int) * nElement);
+	int nResult = 0;
+
+	for (i = 0; i < nThread; i++) {
+		for (j = 0; j < bucket[i].n; j++) {
+			result[nResult++] = bucket[i].arr[j];
+		}
+	}
+
+	/*for (i = 0; i < nElement; i++) {
+		printf("%d\n", result[i]);
+	}*/
+
+	end = clock();
+    printf("Time Spent: %F\n", (double)(end - begin) / CLOCKS_PER_SEC);
+	
+	return 0;
+}
+
-- 
GitLab