Sorting algorithms/Gnome sort: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) |
(Sorting algorithms/Gnome sort en True BASIC) |
||
Line 3,318: | Line 3,318: | ||
:DelVar Q |
:DelVar Q |
||
:Return |
:Return |
||
=={{header|True BASIC}}== |
|||
{{trans|IS-BASIC}} |
|||
<lang qbasic> |
|||
RANDOMIZE !RAMDOMZE TIMER en QBASIC |
|||
DIM array(-5 TO 12) |
|||
CALL iniciarray(array()) |
|||
PRINT "unsort: "; |
|||
CALL escritura(array()) |
|||
CALL gnomeSort(array()) |
|||
PRINT |
|||
PRINT " sort: "; |
|||
CALL escritura(array()) |
|||
END |
|||
SUB escritura (array()) |
|||
FOR i = LBOUND(array) TO UBOUND(array) |
|||
PRINT array(i); |
|||
NEXT i |
|||
PRINT |
|||
END SUB |
|||
SUB gnomeSort (array()) |
|||
LET i = LBOUND(array) + 1 |
|||
LET j = i + 1 |
|||
DO WHILE i <= UBOUND(array) |
|||
IF array(i - 1) <= array(i) THEN |
|||
LET i = j |
|||
LET j = j + 1 |
|||
ELSE |
|||
LET T = array(i - 1) |
|||
LET array(i - 1) = array(i) |
|||
LET array(i) = T |
|||
LET i = i - 1 |
|||
IF i = LBOUND(array) THEN |
|||
LET i = j |
|||
LET j = j + 1 |
|||
END IF |
|||
END IF |
|||
LOOP |
|||
END SUB |
|||
SUB iniciarray (array()) |
|||
FOR i = LBOUND(array) TO UBOUND(array) |
|||
LET array(i) = (RND * 98) + 1 |
|||
NEXT i |
|||
END SUB |
|||
</lang> |
|||
=={{header|uBasic/4tH}}== |
=={{header|uBasic/4tH}}== |