Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,58 @@
|
|||
' version 21-10-2016
|
||||
' compile with: fbc -s console
|
||||
' for boundry checks on array's compile with: fbc -s console -exx
|
||||
|
||||
Sub cocktailsort(bs() As Long)
|
||||
' sort from lower bound to the highter bound
|
||||
' array's can have subscript range from -2147483648 to +2147483647
|
||||
Dim As Long lb = LBound(bs)
|
||||
Dim As Long ub = UBound(bs) -1
|
||||
Dim As Long done, i
|
||||
|
||||
Do
|
||||
done = 0 ' going up
|
||||
For i = lb To ub
|
||||
If bs(i) > bs(i +1) Then
|
||||
Swap bs(i), bs(i +1)
|
||||
done = 1
|
||||
End If
|
||||
Next
|
||||
ub = ub -1
|
||||
If done = 0 Then Exit Do ' 0 means the array is sorted
|
||||
done = 0 ' going down
|
||||
For i = ub To lb Step -1
|
||||
If bs(i) > bs(i +1) Then
|
||||
Swap bs(i), bs(i +1)
|
||||
done = 1
|
||||
End If
|
||||
Next
|
||||
lb = lb +1
|
||||
Loop Until done = 0 ' 0 means the array is sorted
|
||||
|
||||
End Sub
|
||||
|
||||
' ------=< MAIN >=------
|
||||
|
||||
Dim As Long i, array(-7 To 7)
|
||||
|
||||
Dim As Long a = LBound(array), b = UBound(array)
|
||||
|
||||
Randomize Timer
|
||||
For i = a To b : array(i) = i : Next
|
||||
For i = a To b ' little shuffle
|
||||
Swap array(i), array(Int(Rnd * (b - a +1)) + a)
|
||||
Next
|
||||
|
||||
|
||||
Print "unsorted ";
|
||||
For i = a To b : Print Using "####"; array(i); : Next : Print
|
||||
cocktailsort(array()) ' sort the array
|
||||
Print " sorted ";
|
||||
For i = a To b : Print Using "####"; array(i); : Next : Print
|
||||
|
||||
|
||||
' empty keyboard buffer
|
||||
While Inkey <> "" : Wend
|
||||
Print : Print "hit any key to end program"
|
||||
Sleep
|
||||
End
|
||||
Loading…
Add table
Add a link
Reference in a new issue