How to resolve the algorithm Sorting algorithms/Bogosort step by step in the Elena programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Sorting algorithms/Bogosort step by step in the Elena programming language

Table of Contents

Problem Statement

Bogosort a list of numbers.

Bogosort simply shuffles a collection randomly until it is sorted. "Bogosort" is a perversely inefficient algorithm only used as an in-joke.
Its average run-time is   O(n!)   because the chance that any given shuffle of a set will end up in sorted order is about one in   n   factorial,   and the worst case is infinite since there's no guarantee that a random shuffling will ever produce a sorted sequence. Its best case is   O(n)   since a single pass through the elements may suffice to order them.

Pseudocode:

The Knuth shuffle may be used to implement the shuffle part of this algorithm.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Sorting algorithms/Bogosort step by step in the Elena programming language

Source code in the elena programming language

import extensions;
import system'routines;
 
extension op
{
    bogoSorter()
    {
        var list := self;
 
        until (list.isAscendant())
        {
            list := list.randomize(list.Length)
        };
 
        ^ list
    }
}
 
public program()
{
    var list := new int[]{3, 4, 1, 8, 7, -2, 0};
 
    console.printLine("before:", list.asEnumerable());
    console.printLine("after :", list.bogoSorter().asEnumerable())
}

  

You may also check:How to resolve the algorithm Hello world/Standard error step by step in the Salmon programming language
You may also check:How to resolve the algorithm Hello world/Newline omission step by step in the COBOL programming language
You may also check:How to resolve the algorithm Loops/While step by step in the Crystal programming language
You may also check:How to resolve the algorithm DNS query step by step in the Icon and Unicon programming language
You may also check:How to resolve the algorithm Substring step by step in the Eiffel programming language