Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,37 @@
|
|||
100 PROGRAM "QuickSrt.bas"
|
||||
110 RANDOMIZE
|
||||
120 NUMERIC A(5 TO 19)
|
||||
130 CALL INIT(A)
|
||||
140 CALL WRITE(A)
|
||||
150 CALL QSORT(LBOUND(A),UBOUND(A))
|
||||
160 CALL WRITE(A)
|
||||
170 DEF INIT(REF A)
|
||||
180 FOR I=LBOUND(A) TO UBOUND(A)
|
||||
190 LET A(I)=RND(98)+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 QSORT(AH,FH)
|
||||
290 NUMERIC E
|
||||
300 LET E=AH:LET U=FH:LET K=A(E)
|
||||
310 DO UNTIL E=U
|
||||
320 DO UNTIL E=U OR A(U)<K
|
||||
330 LET U=U-1
|
||||
340 LOOP
|
||||
350 IF E<U THEN
|
||||
360 LET A(E)=A(U):LET E=E+1
|
||||
370 DO UNTIL E=U OR A(E)>K
|
||||
380 LET E=E+1
|
||||
390 LOOP
|
||||
400 IF E<U THEN LET A(U)=A(E):LET U=U-1
|
||||
410 END IF
|
||||
420 LOOP
|
||||
430 LET A(E)=K
|
||||
440 IF AH<E-1 THEN CALL QSORT(AH,E-1)
|
||||
450 IF E+1<FH THEN CALL QSORT(E+1,FH)
|
||||
460 END DEF
|
||||
Loading…
Add table
Add a link
Reference in a new issue