/**
* 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 :)