From c6c195be06ce8fa1e375902f0b65726d892b28dc Mon Sep 17 00:00:00 2001 From: CORR1T Date: Mon, 7 Jun 2021 16:35:53 +0200 Subject: [PATCH] Bubblesort --- .gitignore | 3 +- primes/rust/src/main.rs | 2 +- sort/java/src/Sort.java | 64 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 sort/java/src/Sort.java diff --git a/.gitignore b/.gitignore index 2c66a72..19f2df8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ -*/.idea/ .idea *.iml *.class out -target +target \ No newline at end of file diff --git a/primes/rust/src/main.rs b/primes/rust/src/main.rs index e376726..8025902 100644 --- a/primes/rust/src/main.rs +++ b/primes/rust/src/main.rs @@ -35,7 +35,7 @@ fn primes(max: u32) -> Vec { break; } } - i += 1; + i += 1 } primes_list diff --git a/sort/java/src/Sort.java b/sort/java/src/Sort.java new file mode 100644 index 0000000..b34ee9e --- /dev/null +++ b/sort/java/src/Sort.java @@ -0,0 +1,64 @@ +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +public class Sort { + public static void main(String[] args) { + + for (int i = 1; i < 6; i++) { + List times = new ArrayList<>(); + int size = (int) Math.pow(10, i); + for (int j = 0; j < 10; j++) { + int[] arr = getRandomArray(size); + long startTime = System.currentTimeMillis(); + bubbleSort(arr); + long totalTime = System.currentTimeMillis() - startTime; + times.add(totalTime); + } + + double average = times.stream() + .mapToLong(l -> l) + .average() + .getAsDouble(); + + System.out.printf("Average time after 10 times for array size %d : %.2fms%n", size, average); + + } + } + + public static int[] getRandomArray(int size) { + int[] arr = new int[size]; + Random r = new Random(); + for (int i = 0; i < size; i++) { + arr[i] = r.nextInt(); + } + return arr; + } + + public static int[] bubbleSort(int[] arr) { + for (boolean isSorted = false; !isSorted;){ + isSorted = true; + for (int i = 0; i < arr.length - 1; i++) { + if (arr[i] > arr[i + 1]) { + isSorted = false; + int temp = arr[i + 1]; + arr[i + 1] = arr[i]; + arr[i] = temp; + } + } + + } + return arr; + } + + /** + * Sorts an already sorted array + * @param arr The sorted array + * @return A sorted array + */ + public static int[] quickSortAlreadySorted(int[] arr) { + return arr; + } +} +