From e1f9f722df6398dbe7f325103e7ea82e244ac4b4 Mon Sep 17 00:00:00 2001
From: 13513042 <13513042@ld5-02.if.itb.ac.id>
Date: Fri, 12 Feb 2016 17:19:22 +0700
Subject: [PATCH] Finishedgit add .

---
 bucketsort   | Bin 13257 -> 13643 bytes
 bucketsort.c |  80 ++++++++++++++++++++++++++++++++++++++++++++-------
 2 files changed, 70 insertions(+), 10 deletions(-)

diff --git a/bucketsort b/bucketsort
index cbcd28d15484dcf1d2d7b7a390342bc030783776..0658450b509c0971b80878d62b958bad4af401ba 100755
GIT binary patch
literal 13643
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

delta 4094
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
Rd0ZR2>i4=l^j~W>{~wwCD2o69

diff --git a/bucketsort.c b/bucketsort.c
index 00a81bd..d5c914a 100644
--- a/bucketsort.c
+++ b/bucketsort.c
@@ -86,12 +86,6 @@ int *insertionSort(int *array,int n){
         }
     }
 
-    printf("Sorted list in ascending order:\n");
-
-    for (c = 0; c <= n - 1; c++) {
-        printf("%d\n", array[c]);
-    }
-
     return array;
 }
 
@@ -103,9 +97,16 @@ void printBucket (Bucket b) {
     }
 }
 
+void printArray (int *array, int size) {
+    int i;
+    for (i = 0; i < size; i++) {
+        printf("[%d]", array[i]);
+    }
+}
+
 
 int main(int argc, char *argv[]) {
-    MPI_Init(&argc, &argv);
+    MPI_Init(NULL, NULL);
 
     int world_rank;
     MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
@@ -113,9 +114,10 @@ int main(int argc, char *argv[]) {
     int world_size;
     MPI_Comm_size(MPI_COMM_WORLD, &world_size);
 
-    int array_size = 10;
+    int array_size = atoi(argv[1]);
     int *array = NULL;
     Bucket *buckets = NULL;
+
     if (world_rank == 0) {
         // Ini kalo proses utama jadinya dia yang bikin masalah trus disebar
         // ke proses lainnya buat diselesaikan
@@ -124,9 +126,67 @@ int main(int argc, char *argv[]) {
 
         // Bikin bucket buat memecah pecah masalah jadi lebih kecil
         buckets = createBucket(array, searchMax(array,array_size), array_size, world_size);
-        printBucket(buckets[0]);
+        //printBucket(buckets[0]);
+
+        int i = 0;
+
+        int *sorted_all[world_size];
+        int sorted_size[world_size];
+
+        double start_time = 0.0;
+        double end_time = 0.0;
+
+        start_time = MPI_Wtime();
+        
+        int *sorted_zero = insertionSort(buckets[0].content, buckets[0].size);
+        sorted_all[0] = intdup(sorted_zero, buckets[0].size);
+        sorted_size[0] = buckets[0].size;
+
+        for (i = 1; i < world_size; i++) {
+            // Ukuran
+            MPI_Send(&buckets[i].size, 1, MPI_INT, i, 0, MPI_COMM_WORLD);
+            // Data
+            MPI_Send(buckets[i].content, buckets[i].size, MPI_INT, i, 1, MPI_COMM_WORLD);
+            
+        }
+
+        for (i = 1; i < world_size; i++) {
+            int rec_size = 0;
+            int *received = (int *) malloc(sizeof(int) * array_size);
+
+            MPI_Recv(&rec_size, 1, MPI_INT, i, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE ); 
+            MPI_Recv(received, rec_size, MPI_INT, i, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE );
+            
+            sorted_all[i] = intdup(received, rec_size);
+            sorted_size[i] = rec_size;
+        }
+        
+        end_time = MPI_Wtime();
+
+        printf("Time allocated to sort: %G\n", end_time-start_time);
+
+        for (i = 0; i < world_size; i++) {
+            printArray(sorted_all[i], sorted_size[i]);
+        }
+
+    } else {
+
+        int rec_size = 0;
+        int *received = (int *) malloc(sizeof(int) * array_size);
+
+        MPI_Recv(&rec_size, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE ); 
+        MPI_Recv(received, rec_size, MPI_INT, 0, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE );
+        
+        int *sorted = insertionSort(received, rec_size);
+
+        // Kirim Balik
+
+        // Ukuran
+        MPI_Send(&rec_size, 1, MPI_INT, 0, 0, MPI_COMM_WORLD);
+        // Data
+        MPI_Send(sorted, rec_size, MPI_INT, 0, 1, MPI_COMM_WORLD);
+
     }
-    
 
     MPI_Finalize();
 }
-- 
GitLab