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;publicclass main {//tablica podstawowapublicstaticvoid main(String args[]){int low =2000;int high =50000;int size =100000;int[] baseArray =newint[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 ####publicstaticvoid createArray(int[] baseArray,int size,int low,int high){for(int i =0; i < baseArray.length; i++){Random randomNumber =newRandom();
baseArray[i]= randomNumber.nextInt(high - low)+ low;}System.out.println(Arrays.toString(baseArray));}//Kopiuje bazową tablicę,tworząc nową tablicę dla:publicstaticvoid sortArrays(int[] baseArray,int size,int low,int high){//dla danych losowychint[] randomSorted = baseArray.clone();System.out.println("Dla danych losowych "+Arrays.toString(randomSorted));//dla danych posortowanych w kolejności rosnącejint[] 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ącejint[] 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));}//publicstaticvoid bubbleSort(){//tu kod np dla sortowania bąbelkowego};publicstaticvoid insertionSort(){//tu kod np dla sortowania bąbelkowego};}
Programowanie obiektowe, program do sortowania
w Java
Napisano
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:
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