Orbit Algorithm

Written using Oscar.jl
 function Bahnenalgorithmus(m, G, Operation)
    L1 = [m]                                         #L?
    L2 = []                                          #L_Bahn 
    E = GAP.Globals.GeneratorsOfGroup(G)
    while isempty(L1) == false                       #Wende auf jedes i aus L? alle g aus E an
        i = L1[1]
        for j in 1:length(E)                                  
            n = Operation(i,E[j])
            if n in L1 == false && n in L2 == false  #Falls n weder in L? noch in L_Bahn, füge n L? hinzu     
                push!(L1,n)
            end
        push!(L2, i)                                 #Setze L_Bahn = L_Bahn U {i}
        deleteat!(L1, 1)                             #Setze L? = L?\{i}
        end
    end
    return L2
end


  

:D