Skocz do zawartości

Artur Orysz

Członkowie
  • Postów

    1
  • Dołączył

  • Ostatnio

Artur Orysz's Achievements

Newbie

Newbie (1/14)

0

Reputacja

  1. 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 }; }
×
×
  • Utwórz nowe...