/** * Sortowanie przez wstawianie * @author kodatnik.blogspot.com */ public class SortowaniePrzezWstawianie { // metoda sortuje elementy tablicy przekazanej jako parametr public static void sortowaniePrzezWstawianie(int[] wejscie) { // pobieramy elementy z części nieposortowanej tablicy for (int i = 1; i < wejscie.length; i++) { // zapisujemy element w zmiennej int liczba = wejscie[i]; // oraz jego indeks w tablicy int j = i; // w pętli "robimy" dla niego miejsce w // posortowanej części tablicy while (( j > 0) && (wejscie[j-1] > liczba)) { wejscie[j] = wejscie[j-1]; j--; } // wstawiamy go na odpowiednie miejsce wejscie[j] = liczba; } } // metoda wyświetla zawartość tablicy przekazanej jako parametr na ekranie public static void pokazTablice(int[] wejscie) { // każdy element znajdujący się w tablicy wyświetlamy na ekranie for(int x : wejscie) System.out.print (x + " "); System.out.println (); } public static void main(String[] args) { // tworzymy tablicę wypełniając ją od razu danymi int[] tablica = {4, 6, 1, 2, 3, 8, 7, 9, 5}; // wyświetlamy tablicę na ekranie pokazTablice(tablica); // sortujemy tablicę sortowaniePrzezWstawianie(tablica); // wyświetlamy posortowaną tablicę na ekranie pokazTablice(tablica); } }
Algorytm wstawienia elementu na odpowiednie miejsce można zoptymalizować stosując wyszukiwanie binarne.
Uruchomiona aplikacja:4 6 1 2 3 8 7 9 5 1 2 3 4 5 6 7 8 9
1 Komentarz - Sortowanie przez wstawianie
porzadnie zrobiony blog
Prześlij komentarz
Możesz użyć niektórych tagów HTML, takich jak <b>, <i>, <u>, <a> Nie spamuj :)