Jak posortować tablicę w Javie bez użycia metody sortowania

Jak posortować tablicę w Javie bez użycia metody sortowania

W Javie sortowanie organizuje wartości w kolejności malejącej lub rosnącej. Tablice to najprostsza struktura danych zawierająca podobny rodzaj danych przechowywanych w ciągłej lokalizacji pamięci. Do jego elementów można uzyskać bezpośrednio za pomocą numerów indeksu. W tablicach indeksy zaczynają się od 0. Zamiast predefiniowanego „sortować()”Metoda, istnieje również kilka innych metod, które można zastosować do sortowania tablic.

W tym artykule wyjaśniono inne procedury sortowania tablic bez użycia metody sort ().

Jak posortować tablicę w Javie bez użycia metody sort ()?

Za sortowanie tablicy w Javie bez „sortować()„Metoda, możesz użyć:

  • SORT SORT
  • Sortowanie przez wstawianie
  • Bańka

Omówmy te metody sortowania i sposób sortowania elementów tablicy.

Metoda 1: Sortowanie tablicy za pomocą sortowania wyboru

Znalezienie elementu najmniejszego tablicy i wstawienie go na początku tablicy jest to, co robi selekcja. Jest to najbardziej podstawowy algorytm sortowania używany do porównań na miejscu. Ten algorytm rozdziela tablicę na posortowaną i nieporęczną część.

Niepustowa część tablicy zawiera określoną tablicę, podczas gdy posortowana część jest początkowo pusta. Posortowana część znajduje się na początku tablicy, podczas gdy druga część tablicy jest po drugiej stronie. Pierwszy najmniejszy element z nieprojektowanej tablicy jest następnie wybierany i umieszczony na początku tablicy, która jest częścią posortowanej tablicy. Następnie wybrany jest drugi najmniejszy element i umieszcza się w drugim gnieździe. Proces zostanie powtórzony, dopóki tablica zostanie całkowicie posortowana.

Rozważ poniższy przykład, aby lepiej zrozumieć określoną koncepcję.

Przykład

W tym przykładzie utworzyliśmy tablicę typu liczb całkowitych o nazwie „szyk”Zainicjowane z następującymi wartościami:

int [] array = new int [] 3,12,4,67,23,14,89,5;

Utworzymy zmienną typu liczb całkowitych „indeks”, Które będą przechowywać indeksy tablicy, zainicjowane„-1”Ponieważ indeks tablicy zaczyna się od 0, więc w pętli będzie przechowywać„0”Indeks:

int index = -1;

Tutaj użyjemy dwóch „Do„Pętle, jeden zostanie użyty do iteracji tablicy, aż do długości tablicy, a drugi zostanie użyty do sprawdzenia warunku i zamiany elementów, jeśli pierwszy element jest mniejszy niż drugi:

dla (int i = 0; i indeks = i;
for (int j = i; j <= array.length-1; j++)
if (tablica [j] < array[index])
indeks = j;


int temp = tablica [i];
array [i] = array [indeks];
tablica [indeks] = temp;

Następnie wydrukuj posortowaną tablicę za pomocą innego „Do" pętla:

dla (int i = 0; i < array.length; i++)
System.na zewnątrz.print (tablica [i] + ",");

Wyjście wskazuje, że tablica jest teraz sortowana w kolejności rosnącej:

Notatka: Jeśli chcesz wydrukować tablicę w kolejności malejącej jako formularz posortowany, wystarczy odwrócić warunek IF, aby wymienić elementy.

Metoda 2: Sortowanie tablicy za pomocą sortowania wstawienia

Kolejną prostą metodą sortowania stosowaną do sortowania tablicy jest sortowanie wstawienia. SORTERCJA SORTO to krótki algorytm sortowania, który działa tak, jakbyś mógł zorganizować karty do gry w rękach. Jest skuteczny, gdy jest stosowany do kilku wartości. Sortowanie wstawienia jest adaptacyjne i jest dostosowane do częściowo posortowanych zestawów danych.

Posortowane i nieporządkowane są podkategorie tablicy w sortowaniu wstawienia. W przeciwieństwie do sortowania selekcji, sortowanie insercji wybiera wartości z nieporozowanej wartości i wstawia je do posortowanej części w danym indeksie. W sortowaniu wstawienia bieżąca wartość jest porównywana z istniejącym elementem. Jeśli znajdzie istniejący element większy niż bieżący, poprzedni element jest przenoszony do następnej pozycji.

Przykład

Teraz sortujemy to samo „szyk”Za pomocą sortowania wstawiania. Aby to zrobić, będziemy iterować tablicę do jej długości za pomocą „Do" pętla. Rozpoczniemy pętlę od „1”Indeks. Następnie ustawimy wartość klucza jako „kluczowa wartość”I przypisz jego element tablicy w pierwszym indeksie.

Dodano „chwila„Pętla sprawdzi elementy tablicy, porównując ją z wartością kluczową i zamieniając elementy. While pętla nadal biegnie, aż warunek zostanie oceniony jako fałszywy. Jeśli klucz jest większy niż poprzedni element, zamienia oba elementy:

dla (int i = 1; i < array.length; i++)
int keyValue = tablica [i];
int j = i - 1;
while (j> = 0 && array [j]> keyValue)
tablica [j + 1] = tablica [j];
j = j - 1;

tablica [j + 1] = keyValue;

Do drukowania posortowanej tablicy użyjemy innej „Do" pętla:

dla (int i = 0; i < array.length; i++)
System.na zewnątrz.print (tablica [i] + ",");

Wyjście

Metoda 3: Sortowanie tablicy za pomocą sortowania bąbelków

Sort bańki sprawdza dwa pobliskie elementy i zamienia je, aż będą w pożądanej kolejności. Nazywa się to „Bańka”Ponieważ każdy element tablicy przesuwa się na koniec tablicy w każdej iteracji, podobnie jak to, w jaki sposób pęcherzyki powietrza pojawiają się na szczycie wody. Jest odpowiedni tylko dla mniejszej liczby elementów ze względu na jego wysoką średnią i najgorszą złożoność czasu.

W sumie Bubble porównamy pierwsze i drugie elementy, począwszy od pierwszego indeksu. Jeśli pierwszy element tablicy jest większy, zamień pierwsze i drugie elementy. Następnie przeprowadzi porównanie między kolejnymi dwoma elementami. Jeśli nie są obecne w określonej kolejności, ta metoda sortowania je zamieni.

Przykład

W tym przykładzie użyjemy sortowania bańki, aby ułożyć tablicę. Podobnie jak w sortowaniu selekcji, do sortowania elementów używane są dwie pętle. Jedna jest iterowanie tablicy aż do jej długości, a druga pętla jest używana do sprawdzania elementów i zamiany ich na podstawie warunków:

dla (int i = 0; i < array.length; i++)
dla (int j = i + 1; j < array.length; j++)
int temp = 0;
if (array [i]> array [j])
temp = tablica [i];
array [i] = array [j];
tablica [j] = temp;


Do drukowania wymienionych tablic użyjemy „Do" pętla:

dla (int i = 0; i < array.length; i++)
System.na zewnątrz.print (tablica [i] + ",");

Wyjście

Notatka: Jeśli chcesz wydrukować tablicę w kolejności malejącej za pomocą metody sortowania bąbelków, wystarczy odwrócić dodany warunek.

Zaproponowaliśmy wszystkie metody sortowania do sortowania tablic bez użycia metody predefiniowanej sort ().

Wniosek

Aby sortować tablicę bez użycia metody sort () w Javie, możesz użyć prostych metod sortowania, w tym sortowania wyboru, sortowania wstawiania i sortowania bąbelków. Wszystkie są najprostszymi i najbardziej wydajnymi metodami sortowania. Mówiąc dokładniej, sortowanie wstawiania jest wykorzystywane, gdy chcesz wstawić element w określonym indeksie. Wszystkie dostarczone metody można zastosować do sortowania tablicy w kolejności malejącej lub rosnącej.