Sorting algorithms/Bogosort: Difference between revisions

add FreeBASIC
(Added Wren)
(add FreeBASIC)
Line 1,124:
END PROGRAM BOGOSORT</lang>
 
=={{header|FreeBASIC}}==
 
<lang freebasic>sub shuffle( a() as long )
dim as ulong n = ubound(a), i, j, k, m = ubound(a)*2
dim as ulong tmp
randomize timer
for k=1 to m
i=int(rnd*n)
j=int(rnd*n)
tmp = a(i)
a(i) = a(j)
a(j) = tmp
next k
end sub
 
function inorder( a() as long ) as boolean
dim as ulong i, n = ubound(a)
for i = 0 to n-2
if a(i)>a(i+1) then
return false
end if
next i
return true
end function
 
sub bogosort( a() as long )
while not inorder(a())
shuffle(a())
wend
end sub
 
dim as long a(5) = {10, 1, 2, -6, 3}
dim as long i
 
bogosort(a())
 
for i=0 to ubound(a) - 1
print a(i)
next i</lang>
 
=={{header|Gambas}}==
781

edits