Bubblesort

This commit is contained in:
CORR1T 2021-06-07 16:35:53 +02:00
parent 12ec3b5d1b
commit c6c195be06
3 changed files with 66 additions and 3 deletions

3
.gitignore vendored
View file

@ -1,6 +1,5 @@
*/.idea/
.idea .idea
*.iml *.iml
*.class *.class
out out
target target

View file

@ -35,7 +35,7 @@ fn primes(max: u32) -> Vec<u32> {
break; break;
} }
} }
i += 1; i += 1
} }
primes_list primes_list

64
sort/java/src/Sort.java Normal file
View file

@ -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<Long> 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;
}
}