Próbuję stworzyć program składający się z tablicy 10 liczb całkowitych, z których wszystkie mają losową wartość, jak na razie dobrze.
Jednak teraz muszę posortować je w kolejności od najniższej do najwyższej wartości, a następnie wydrukować na ekranie, jak mam to zrobić?
(Przepraszam, że mam tyle kodu dla tak małego programu, nie radzę sobie zbyt dobrze z pętlami, właśnie zacząłem pracować z Javą)
public static void main(String args[])
{
int [] array = new int[10];
array[0] = ((int)(Math.random()*100+1));
array[1] = ((int)(Math.random()*100+1));
array[2] = ((int)(Math.random()*100+1));
array[3] = ((int)(Math.random()*100+1));
array[4] = ((int)(Math.random()*100+1));
array[5] = ((int)(Math.random()*100+1));
array[6] = ((int)(Math.random()*100+1));
array[7] = ((int)(Math.random()*100+1));
array[8] = ((int)(Math.random()*100+1));
array[9] = ((int)(Math.random()*100+1));
System.out.println(array[0] +" " + array[1] +" " + array[2] +" " + array[3]
+" " + array[4] +" " + array[5]+" " + array[6]+" " + array[7]+" "
+ array[8]+" " + array[9] );
}
Odpowiedzi:
Pętle są również bardzo przydatne do nauki, szczególnie podczas korzystania z tablic,
źródło
Dodaj linię przed println, a twoja tablica zostanie posortowana
źródło
Może pomóc ci zrozumieć pętle, implementując się. Zobacz Sortowanie bąbelkowe jest łatwe do zrozumienia:
Oczywiście nie należy go używać w środowisku produkcyjnym, ponieważ istnieją lepsze algorytmy dla dużych list, takich jak QuickSort lub MergeSort, które są implementowane przez
Arrays.sort(array)
źródło
Spójrz na Arrays.sort ()
źródło
Byłem leniwy i dodałem pętle
Twoja tablica ma długość 10. Potrzebujesz jednej zmiennej (
i
), która przyjmuje wartości od0
do9
.To metody biblioteczne, które sortują tablice.
źródło
wykona pracę doskonale
źródło
Zobacz poniżej, to da ci posortowane zarówno rosnąco, jak i malejąco
Wyjście będzie
Uwaga: Możesz użyć Math.ranodm zamiast ręcznego dodawania liczb. Daj mi znać, jeśli muszę zmienić kod ...
Powodzenia ... Na zdrowie !!!
źródło
Integer
kiedy możesz użyćint
, ponieważ spowoduje to spowolnienie.źródło
Oto jak tego użyć w swoim programie:
źródło
Po prostu do Twojej wiadomości, możesz teraz używać nowego interfejsu API Java 8 do sortowania dowolnego typu tablic przy użyciu
parallelSort
parallelSort
wykorzystuje strukturę Fork / Join wprowadzoną w Javie 7 do przypisywania zadań sortowania do wielu wątków dostępnych w puli wątków.dwie metody, których można użyć do sortowania
int
tablicy,źródło
Do naturalnego porządku:
Arrays.sort(array)
Odwrotna kolejność:
Arrays.sort(array, Collections.reverseOrder());
-> Jest to metoda statyczna w klasie Collections, która dalej wywoła własną klasę wewnętrzną, aby zwrócić odwrotny komparator.źródło
Możesz sortować tablicę int za pomocą
Arrays.sort( array )
.źródło
Java 8 umożliwia korzystanie ze strumieni, które można wykorzystać do sortowania
int[] array
:Jak wspomniano w dokumencie dla
parallelSort
:Więc jeśli tablica wejściowa jest mniejsza niż ziarnistość (8192 elementów w Javie 9 i 4096 w Javie 8, jak sądzę), to
parallelSort
po prostu wywołuje algorytm sortowania sekwencyjnego.Na wypadek gdybyśmy chcieli odwrócić sortowanie tablicy liczb całkowitych, możemy skorzystać z komparatora jako:
Ponieważ Java nie ma możliwości sortowania prymitywów za pomocą niestandardowego komparatora, musimy użyć pośredniego boksu lub innej biblioteki innej firmy, która implementuje takie prymitywne sortowanie.
źródło
Możesz użyć funkcji Arrays.sort () .
źródło
NAJBARDZIEJ EFEKTYWNY SPOSÓB!
źródło
Jeśli chcesz samodzielnie zbudować algorytm szybkiego sortowania i lepiej zrozumieć, jak to działa, sprawdź poniższy kod:
1- Utwórz klasę sortowania
2- Wyślij swoją niesortowaną tablicę na
Quicksort
zajęcia3- Wyjście
źródło
Możemy również użyć drzewa wyszukiwania binarnego, aby uzyskać posortowaną tablicę za pomocą metody przechodzenia w kolejności. Kod ma również implementację podstawowego drzewa wyszukiwania binarnego poniżej.
}
źródło