mirror of
https://github.com/Noratrieb/benchmarks.git
synced 2026-01-14 18:55:02 +01:00
Bubblesort
This commit is contained in:
parent
12ec3b5d1b
commit
c6c195be06
3 changed files with 66 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,4 +1,3 @@
|
||||||
*/.idea/
|
|
||||||
.idea
|
.idea
|
||||||
*.iml
|
*.iml
|
||||||
*.class
|
*.class
|
||||||
|
|
|
||||||
|
|
@ -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
64
sort/java/src/Sort.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue