package at.ande.sorting.gnomesort; import java.util.ArrayList; public class GnomeSort { ArrayList list; public ArrayList start(ArrayList arraylist) { list = arraylist; sort(); return list; } public void sort(){ int right = 1; int left = 0; while (right != list.size()){ if (list.get(left) <= list.get(right)){ right = right + 1; left = left + 1; } else { int temp = list.get(left); list.set(left, list.get(right)); list.set(right, temp); if(left != 0){ left = left -1; right = right - 1; } } } } }
Das Laufzeitverhalten ist nicht gerade überzeugend:
List Area: 0 - 999
List Numbers: 100000
Unsorted List:
-Iterative Quicksort: 135 ms
-Bubblesort: 43729 ms
-GnomeSort: 70638 ms
Sorted List:
-Iterative Quicksort: 1767 ms
-Bubblesort: 3 ms
-GnomeSort: 12 ms
Links:
Wikiartikel zu Gnomesort
Keine Kommentare:
Kommentar veröffentlichen