Witajcie!
Mam do wykonania program na zaliczenie mierzący szybkość sortowaną rożnymi metodami tablicy składającej się z 100000 elementów, każdy element ma być z zakresu od 2000 do 50000. Następnie testujemy prędkość sortowania dla tablicy nieposortowanej, posortowanej do połowy, posortowanej w kolejności rosnącej i kolejności malejącej: Wymyśliłem to sobie tak:
Tworzę najpierw losowo wygenerowaną tablicę o podanych elementach
Na jej podstawie tworzę wszystkie wspomniane warianty wbudowanymi metodami
Z ich użyciem testuję wszystkie sortowania.
Jestem skrajnie początkujący w Javie, chcę zrobić to zadanie tylko przy użyciu klas. Problem w tym że nie do końca łapie o co chodzi :(, nie wiem jak przekazać te posortowane tablice dalej jako obiekty
import java.util.Arrays;
import java.util.Random;
public class main {
//tablica podstawowa
public static void main(String args[]) {
int low = 2000;
int high = 50000;
int size = 100000;
int[] baseArray = new int[size];
int[] randomSorted = baseArray.clone();
createArray(baseArray, size, low, high);
sortArrays(baseArray, size, low, high);
// jak wywołać tu np: tu y
//bubbleSort();
//insertionSort();
//dla każdej tablic
// #### Tworzę tablice szablonów ####
public static void createArray(int[] baseArray, int size, int low, int high) {
for (int i = 0; i < baseArray.length; i++) {
Random randomNumber = new Random();
baseArray[i] = randomNumber.nextInt(high - low) + low;
}
System.out.println(Arrays.toString(baseArray));
}
//Kopiuje bazową tablicę,tworząc nową tablicę dla:
public static void sortArrays(int[] baseArray, int size, int low, int high) {
//dla danych losowych
int[] randomSorted = baseArray.clone();
System.out.println("Dla danych losowych " + Arrays.toString(randomSorted));
//dla danych posortowanych w kolejności rosnącej
int[] ascendingSorted = baseArray.clone();
Arrays.sort(ascendingSorted);
System.out.println("Dla danych posortowanych w kolejności rosnącej " + Arrays.toString(ascendingSorted));
//dla danych częściowo posortowanych
int[] partiallySorted = baseArray.clone();
//Sortuj tablicę tylko do połowy (czyli od 0 do "długości" skopiowanej tablicy dzielonej na pół)
Arrays.sort(partiallySorted, 0, (partiallySorted.length / 2));
System.out.println("Dla danych częściowo posortowanych (do połowy) " + Arrays.toString(partiallySorted));
//oraz dla danych posortowanych w kolejności malejącej
int[] descendingSorted = baseArray.clone();
for (int i = 0; i < descendingSorted.length; i++) {
descendingSorted[i] = ascendingSorted[ascendingSorted.length - 1 - i];
}
System.out.println("Dla danych posortowanych w kolejności malejącej " + Arrays.toString(descendingSorted));
}
//
public static void bubbleSort() {
//tu kod np dla sortowania bąbelkowego
};
public static void insertionSort() {
//tu kod np dla sortowania bąbelkowego
};
}