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
No comments:
Post a Comment