Sorting algorithms/Bogosort: Difference between revisions
Content added Content deleted
(+D) |
(→{{header|Java}}: minor changes) |
||
Line 65: | Line 65: | ||
This implementation works for all comparable types (types with <tt>compareTo</tt> defined). |
This implementation works for all comparable types (types with <tt>compareTo</tt> defined). |
||
<java>import java.util.Collections; |
<java>import java.util.Collections; |
||
import java.util. |
import java.util.List; |
||
import java.util.Iterator; |
|||
public class Bogosort |
public class Bogosort { |
||
private static <T extends Comparable<? super T>> boolean isSorted(List<T> list) { |
|||
public LinkedList<T> bogoSort(LinkedList<T> list){ |
|||
if (list.isEmpty()) |
|||
boolean sorted= false; |
|||
return true; |
|||
while(!sorted){ |
|||
Iterator<T> it = list.iterator(); |
|||
sorted= true; |
|||
T last = it.next(); |
|||
for(int i= 0;i < list.size() - 1;i++){ |
|||
while (it.hasNext()) { |
|||
if(list.get(i).compareTo(list.get(i + 1)) > 0){ |
|||
T current = it.next(); |
|||
sorted= false; |
|||
if (last.compareTo(current) > 0) |
|||
} |
|||
return false; |
|||
} |
|||
last = current; |
|||
} |
|||
return true; |
|||
} |
|||
public static <T extends Comparable<? super T>> void bogoSort(List<T> list) { |
|||
if(!sorted){ |
|||
while (!isSorted(list)) |
|||
Collections.shuffle(list); |
|||
} |
|||
} |
|||
} |
|||
return list; |
|||
} |
|||
}</java> |
}</java> |