Sorting algorithms/Stooge sort: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 782: | Line 782: | ||
on string : "qwerty" |
on string : "qwerty" |
||
with op = &null: "eqrtwy" (0 ms)</pre> |
with op = &null: "eqrtwy" (0 ms)</pre> |
||
=={{header|IS-BASIC}}== |
|||
<lang IS-BASIC>100 PROGRAM "StoogSrt.bas" |
|||
110 RANDOMIZE |
|||
120 NUMERIC ARRAY(5 TO 16) |
|||
130 CALL INIT(ARRAY) |
|||
140 CALL WRITE(ARRAY) |
|||
150 CALL STOOGESORT(ARRAY,LBOUND(ARRAY),UBOUND(ARRAY)) |
|||
160 CALL WRITE(ARRAY) |
|||
170 DEF INIT(REF A) |
|||
180 FOR I=LBOUND(A) TO UBOUND(A) |
|||
190 LET A(I)=RND(99)+1 |
|||
200 NEXT |
|||
210 END DEF |
|||
220 DEF WRITE(REF A) |
|||
230 FOR I=LBOUND(A) TO UBOUND(A) |
|||
240 PRINT A(I); |
|||
250 NEXT |
|||
260 PRINT |
|||
270 END DEF |
|||
280 DEF STOOGESORT(REF A,I,J) |
|||
290 NUMERIC T |
|||
300 IF A(J)<A(I) THEN LET T=A(J):LET A(J)=A(I):LET A(I)=T |
|||
310 IF J-I>1 THEN |
|||
320 LET T=IP((J-I+1)/3) |
|||
330 CALL STOOGESORT(A,I,J-T) |
|||
340 CALL STOOGESORT(A,I+T,J) |
|||
350 CALL STOOGESORT(A,I,J-T) |
|||
360 END IF |
|||
370 END DEF</lang> |
|||
=={{header|J}}== |
=={{header|J}}== |