Permutations: Difference between revisions
Content added Content deleted
(Permutations in True BASIC) |
|||
Line 9,074: | Line 9,074: | ||
3 2 1 |
3 2 1 |
||
</pre> |
</pre> |
||
=={{header|True BASIC}}== |
|||
{{trans|Liberty BASIC}} |
|||
<lang qbasic>SUB SWAP(vb1, vb2) |
|||
LET temp = vb1 |
|||
LET vb1 = vb2 |
|||
LET vb2 = temp |
|||
END SUB |
|||
LET n = 4 |
|||
DIM a(4) |
|||
DIM c(4) |
|||
FOR i = 1 TO n |
|||
LET a(i) = i |
|||
NEXT i |
|||
PRINT |
|||
DO |
|||
FOR i = 1 TO n |
|||
PRINT a(i); |
|||
NEXT i |
|||
PRINT |
|||
LET i = n |
|||
DO |
|||
LET i = i - 1 |
|||
LOOP UNTIL (i = 0) OR (a(i) < a(i + 1)) |
|||
LET j = i + 1 |
|||
LET k = n |
|||
DO WHILE j < k |
|||
CALL SWAP (a(j), a(k)) |
|||
LET j = j + 1 |
|||
LET k = k - 1 |
|||
LOOP |
|||
IF i > 0 THEN |
|||
LET j = i + 1 |
|||
DO WHILE a(j) < a(i) |
|||
LET j = j + 1 |
|||
LOOP |
|||
CALL SWAP (a(i), a(j)) |
|||
END IF |
|||
LOOP UNTIL i = 0 |
|||
END</lang> |
|||
=={{header|Ursala}}== |
=={{header|Ursala}}== |