Insertionsort in Java

Funktionsweise von Insertionsort samt Beispielcode

Navigation:

Insertionsort ist ein bekannter Sortieralgorithmus den man natürlich auch in Java implementierten kann. Bei kleinen Datenmengen ist dieser sehr einfache Algorithmus effizient, sodass dessen Funktionsweise vor allem Programmieranfängern bewusst sein sollte.

Die Funktionsweise von Insertionsort ähnelt der von Selectionsort. Im Gegensatz zu Selectionsort wird beim Insertionsort-Algorithmus allerdings nicht immer nach dem kleinsten Element gesucht, sondern der Insertionsort-Algorithmus geht nach und nach die Elemente des Arrays durch und fügt diese im linken, sortierten Teil des Arrays an passender Stelle ein.

Insertionsort Beispiel Quellcode

Hier eine Beispiel-Implementierung des Insertionsort-Algorithmus ausgelagert in einer Funktion, samt einer Testausgabe.

public static void main(String[] args) {

		int[] unsortiert = { 4, 1, 8, -3, 5, 7 };
		int[] sortiert = insertionSort(unsortiert);

		for (int i = 0; i < sortiert.length; i++) {
			System.out.print(sortiert[i] + ", ");
		}

	}

	public static int[] insertionSort(int[] sortieren) {
		int temp;
		for (int i = 1; i < sortieren.length; i++) {
			temp = sortieren[i];
			int j = i;
			while (j > 0 && sortieren[j - 1] > temp) {
				sortieren[j] = sortieren[j - 1];
				j--;
			}
			sortieren[j] = temp;
		}
		return sortieren;
	}