Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,47 @@
|
|||
100 PROGRAM "CountSrt.bas"
|
||||
110 RANDOMIZE
|
||||
120 NUMERIC ARRAY(5 TO 24)
|
||||
130 CALL INIT(ARRAY)
|
||||
140 CALL WRITE(ARRAY)
|
||||
150 CALL COUNTINGSORT(ARRAY)
|
||||
160 CALL WRITE(ARRAY)
|
||||
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 FMIN(REF A)
|
||||
290 LET T=INF
|
||||
300 FOR I=LBOUND(A) TO UBOUND(A)
|
||||
310 LET T=MIN(A(I),T)
|
||||
320 NEXT
|
||||
330 LET FMIN=T
|
||||
340 END DEF
|
||||
350 DEF FMAX(REF A)
|
||||
360 LET T=-INF
|
||||
370 FOR I=LBOUND(A) TO UBOUND(A)
|
||||
380 LET T=MAX(A(I),T)
|
||||
390 NEXT
|
||||
400 LET FMAX=T
|
||||
410 END DEF
|
||||
420 DEF COUNTINGSORT(REF A)
|
||||
430 LET MX=FMAX(A):LET MN=FMIN(A):LET Z=LBOUND(A)
|
||||
440 NUMERIC COUNT(0 TO MX-MN)
|
||||
450 FOR I=0 TO UBOUND(COUNT)
|
||||
460 LET COUNT(I)=0
|
||||
470 NEXT
|
||||
480 FOR I=Z TO UBOUND(A)
|
||||
490 LET COUNT(A(I)-MN)=COUNT(A(I)-MN)+1
|
||||
500 NEXT
|
||||
510 FOR I=MN TO MX
|
||||
520 DO WHILE COUNT(I-MN)>0
|
||||
530 LET A(Z)=I:LET Z=Z+1:LET COUNT(I-MN)=COUNT(I-MN)-1
|
||||
540 LOOP
|
||||
550 NEXT
|
||||
560 END DEF
|
||||
Loading…
Add table
Add a link
Reference in a new issue