Skocz do zawartości

Artur Orysz

Członkowie
  • Postów

    1
  • Dołączył

  • Ostatnio

Posty napisane przez Artur Orysz

  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: 

    1. Tworzę najpierw losowo wygenerowaną tablicę o podanych elementach
    2. Na jej podstawie tworzę wszystkie wspomniane warianty wbudowanymi metodami
    3. 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...