Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
|
|
@ -0,0 +1,60 @@
|
|||
100H: /* GNOME SORT */
|
||||
|
||||
/* IN-PLACE GNOME SORT THE FIRST SIZE ELEMENTS OF THE */
|
||||
/* ARRAY POINTED TO BY A$PTR */
|
||||
GNOME$SORT: PROCEDURE( A$PTR, SIZE );
|
||||
DECLARE ( A$PTR, SIZE ) ADDRESS;
|
||||
DECLARE A BASED A$PTR ( 0 )ADDRESS;
|
||||
DECLARE ( I, J ) ADDRESS;
|
||||
I = 1;
|
||||
J = 2;
|
||||
DO WHILE I < SIZE;
|
||||
IF A( I - 1 ) <= A( I ) THEN DO;
|
||||
I = J;
|
||||
J = J + 1;
|
||||
END;
|
||||
ELSE DO;
|
||||
DECLARE SWAP ADDRESS;
|
||||
SWAP = A( I - 1 );
|
||||
A( I - 1 ) = A( I );
|
||||
A( I ) = SWAP;
|
||||
I = I - 1;
|
||||
IF I = 0 THEN DO;
|
||||
I = J;
|
||||
J = J + 1;
|
||||
END;
|
||||
END;
|
||||
END;
|
||||
END GNOME$SORT ;
|
||||
|
||||
/* CP/M BDOS SYSTEM CALLS AND I/O ROUTINES */
|
||||
BDOS: PROCEDURE( FN, ARG ); DECLARE FN BYTE, ARG ADDRESS; GOTO 5; END;
|
||||
PR$CHAR: PROCEDURE( C ); DECLARE C BYTE; CALL BDOS( 2, C ); END;
|
||||
PR$STRING: PROCEDURE( S ); DECLARE S ADDRESS; CALL BDOS( 9, S ); END;
|
||||
PR$NL: PROCEDURE; CALL PR$STRING( .( 0DH, 0AH, '$' ) ); END;
|
||||
PR$NUMBER: PROCEDURE( N ); /* PRINTS A NUMBER IN THE MINIMUN FIELD WIDTH */
|
||||
DECLARE N ADDRESS;
|
||||
DECLARE V ADDRESS, N$STR ( 6 )BYTE, W BYTE;
|
||||
V = N;
|
||||
W = LAST( N$STR );
|
||||
N$STR( W ) = '$';
|
||||
N$STR( W := W - 1 ) = '0' + ( V MOD 10 );
|
||||
DO WHILE( ( V := V / 10 ) > 0 );
|
||||
N$STR( W := W - 1 ) = '0' + ( V MOD 10 );
|
||||
END;
|
||||
CALL PR$STRING( .N$STR( W ) );
|
||||
END PR$NUMBER;
|
||||
|
||||
DO; /* TEST GNOME$SORT */
|
||||
DECLARE N ( 11 )ADDRESS, N$POS BYTE;
|
||||
N( 0 ) = 4; N( 1 ) = 65; N( 2 ) = 2; N( 3 ) = 31; N( 4 ) = 0;
|
||||
N( 5 ) = 99; N( 6 ) = 2; N( 7 ) = 8; N( 8 ) = 3; N( 9 ) = 783;
|
||||
N( 10 ) = 1;
|
||||
CALL GNOME$SORT( .N, 11 );
|
||||
DO N$POS = 0 TO 10;
|
||||
CALL PR$CHAR( ' ' );
|
||||
CALL PR$NUMBER( N( N$POS ) );
|
||||
END;
|
||||
END;
|
||||
|
||||
EOF
|
||||
Loading…
Add table
Add a link
Reference in a new issue