kod osadzania javascript

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Sortowanie przez wstawianie Java ocenia każdy element na liście. Jeśli element jest mniejszy niż poprzedni, sortowanie zamienia elementy. W przeciwnym razie elementy pozostają w tym samym miejscu, a dwa elementy są porównywane na liście.

Komputery są dobre w sortowaniu listy elementów. Używając pętli, możesz przeszukiwać wszystkie elementy na liście i zmieniać ich kolejność, aż pojawią się w określony sposób.

W programowaniu istnieją standardowe sposoby sortowania list. Nazywamy te algorytmy sortowania . Algorytmy sortowania odczytują wszystkie pozycje na liście i sortują je przy użyciu określonego zestawu instrukcji. Jednym z najbardziej aktualnych algorytmów sortowania, z jakimi się spotkasz, jest rodzaj wstawiania.

W tym przewodniku omówimy, jak zaimplementować algorytm sortowania z wstawianiem w Javie . Po drodze przejdziemy przez przykład, abyś mógł nauczyć się logiki tego, który typ działa.

Zacznijmy!

Co oznacza wynik wstawiania Java?

Typ wstawiania Java działa jak sortowanie kart w ręce w talii kart. Wstawia sortuje sprawdza każdy element na liście i zamienia go na element po jego lewej stronie. To, czy przedmiot zostanie zamieniony, zależy od tego, czy przedmiot jest większy czy mniejszy od poprzedniego.

Wyobraź sobie przez chwilę, że grasz w grę karcianą – wista, remik, cokolwiek. Co robisz, gdy zamawiasz karty?

Zaczniesz od lewej i sprawdzisz, czy druga karta jest posortowana. Jeśli ta karta jest większa niż poprzednia, musi pozostać na tej samej pozycji. W przeciwnym razie musi przesunąć się o jedną pozycję na liście.

Wydajesz wszystkie karty z ręki i robisz to, aż każda karta pojawi się we właściwej kolejności.

kiedy użyć sortowania danych wejściowych?

Istnieje wiele rodzaje wstawek używane, gdy pozostało tylko kilka elementów, które należy posortować

< /a>

Istnieją bardziej wydajne algorytmy, których można użyć do sortowania list danych, jako swego rodzaju scalania. Dlatego nie powinieneś zawsze domyślnie używać sortowania przez wstawianie. Jednak rodzaje integracji są bardziej skuteczne niż rodzaje bąbelków i selekcji pozycji sortujących listę.

Wstawka jest rodzajem prostego algorytmu sortowania, co oznacza, że jest przydatna do nauki dla początkujących.

p>

procedura sortowania wkładek

Przeglądanie talii kart nie należy do najbardziej intuicyjnych na świecie. Na początek spójrz na przykład programowania. Rozważ poniższą listę:

8 6 3 9

Na tej liście zakładamy, że pierwszy element jest posortowany.

Naszym następnym krokiem jest porównanie drugiego elementu na naszej liście z pierwszym. Jeśli pierwszy element jest większy niż drugi element, ten element jest umieszczany przed pierwszym elementem.

W tym przypadku 6 jest większe niż 8. Oznacza to, że 6 zwróci pozycję na naszej liście a 8 przesunie pozycję:

6 8 3 9

Teraz musimy porównać trzeci element z elementami po jego lewej stronie: 3 jest większe niż 8? Nie, więc 8 przesuń pozycję w prawo:

6 3 8 9

3 jest większe niż 6? Nie, więc przeniesiemy numer 6:

3 6 < /td> 8 9

Teraz musimy porównać, czy czwarty punkt na naszej liście - ostatni element - jest wyższy od czegokolwiek innego na naszej liście. W tym przypadku 9 jest większe niż wszystkie elementy przed nim: 8, 6 i 3.

Oto algorytm, którego użyliśmy do sortowania listy:

  • pierwszy element jest posortowany.
  • Porównaj drugi element z elementem po jego lewej stronie.
  • Jeśli ten element jest większy niż wartość po jego lewej stronie, element pozostaje w tym samym miejscu. W przeciwnym razie przesuń wartość w lewo.
  • Powtarzaj, aż wszystkie elementy pojawią się w kolejności.

Mamy teraz posortowaną tablicę. Rodzaje wstawiania są sortowane po jednym elemencie na raz. Zobaczmy, jak zaimplementować ten algorytm sortowania w Javie

Jak wykonać wstaw sortowanie w Javie

wyższa z dwóch porównywanych wartości jest wstawiana o jedną pozycję w prawo za każdym razem, gdy wykonywana jest funkcja sortowania.

Można mówić w kategoriach teoretycznych , ale jak to zaimplementować w Javie? To dobre pytanie. Napiszmy klasę, która będzie sortować według wstawek na liście ocen uczniów.

Przygotuj bibliotekę tablic

Zacznijmy importując bibliotekę Array do naszego programu Java. Użyjemy tej biblioteki do wydrukowania naszej listy w konsoli po jej posortowaniu:

decla re a metoda sortowania

Zaczniemy od zadeklarowania metody, która iteruje po naszej liście i sortuje nasze dane w kolejności rosnącej >:

Zacznijmy od sprawdzenia, ile elementów znajduje się w naszej tablicy wejściowej. To pozwala nam stworzyć pętlę, która przechodzi przez każdy element na naszej liście. Inicjujemy pętlę, która zapętla się, dopóki nie wyjdziemy z naszej listy.

W naszej pętli zadeklarowaliśmy dwie zmienne: kluczową i ostatnią.

Java zmienna "klucz" śledzi element, który aktualnie zamawiamy. Zmienna „ostatni” śledzi, ile elementów należy posortować po lewej stronie elementu.

Nasz program będzie porównywał wartość „klucza” z każdym elementem po jego lewej stronie, dopóki nie znajdziemy mniejszego elementu . Dzieje się tak w naszej pętli Java "while" .

Zdefiniuj funkcję główną

Kiedy to uruchamiamy kod, nic się nie dzieje. Rzeczywiście, nie zdefiniowaliśmy jeszcze naszej głównej funkcji. Definiujemy główną funkcję, która definiuje sieć int (tablicę liczb). Ta funkcja główna wykorzystuje zadeklarowaną przez nas funkcję insertSort() do sortowania tych cyfr. Wklej ten kod po zadeklarowaniu wpisuSortuj metoda Java :

W naszej głównej metodzie zadeklarowaliśmy listę liczb, które chcemy posortować. Stworzyliśmy instancję naszej metody InsertionSort () o nazwie sortNumbers . Używamy tej metody do sortowania listy liczb w kolejności rosnącej. Ta metoda zmienia wartości w naszym wektorze "cyfr"; nie zadeklarowaliśmy oddzielnej tablicy do przechowywania jej wartości.

Następnie użyliśmy metoda Arrays.toString() do konwersji naszej tablicy liczb na łańcuch znaków. <

h2> złożoność egzaminu

sortowanie przez wstawianie ma średnią złożoność obserwacji wynoszącą O ( n ^ 2)). Dzieje się tak, gdy żadne elementy nie są sortowane.

Najlepszy przypadek złożoności występuje, gdy posortowana jest tablica. Daje to złożoność czasową O (n). Rzeczywiście, wewnętrzna pętla w pewnym rodzaju w tym przypadku wstawienie w ogóle nie zostanie wykonane.

w najgorszym przypadku wstawienie jest dokonywane w pozycji O Ęã‚Ęãsort (n ^2). Dzieje się tak, gdy tablica jest w porządku rosnącym lub malejącym i chcesz posortować w odwrotnej kolejności (tj. rosnącej do malejącej) przeciwstawność każdego elementu z pozostałymi elementami ent.

Wnioski

Rodzaje wstawiania są skutecznym sposobem sortowania danych. orts porównuje wartości zaczynając od drugiej na liście. Jeśli ta wartość jest większa niż ta po jej lewej stronie, nasza lista się nie zmienia. W przeciwnym razie wartość jest przesuwana, aż element po lewej stronie będzie mniejszy.

Teraz możesz zacząć pisać własny algorytm sortowania przez wstawianie w Javie! Jeśli szukasz więcej materiałów do nauki języka Java , zapoznaj się z naszymi Przewodnik po języku Java .