Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,42 @@
|
|||
MODULE CS;
|
||||
|
||||
IMPORT Out;
|
||||
|
||||
VAR
|
||||
A:ARRAY 8 OF INTEGER;
|
||||
I:LONGINT;
|
||||
|
||||
PROCEDURE Init(VAR A:ARRAY OF INTEGER);
|
||||
BEGIN
|
||||
A[0] := 80; A[1] := 10; A[2] := 40; A[3] := 60;
|
||||
A[4] := 50; A[5] := 30; A[6] := 20; A[7] := 70;
|
||||
END Init;
|
||||
|
||||
PROCEDURE CountingSort(VAR A:ARRAY OF INTEGER; Min,Max:INTEGER);
|
||||
VAR
|
||||
I,Z,Range:LONGINT;
|
||||
Count:POINTER TO ARRAY OF INTEGER;
|
||||
BEGIN
|
||||
Range := Max - Min + 1;
|
||||
NEW(Count, Range);
|
||||
Z := 0;
|
||||
FOR I := 0 TO LEN(A)-1 DO
|
||||
INC(Count[A[I] - Min]);
|
||||
END;
|
||||
FOR I := Min TO Max DO
|
||||
WHILE(Count[I - Min] > 0) DO
|
||||
A[Z] := SHORT(I);
|
||||
INC(Z);
|
||||
DEC(Count[I - Min]);
|
||||
END;
|
||||
END;
|
||||
END CountingSort;
|
||||
|
||||
BEGIN
|
||||
Init(A);
|
||||
CountingSort(A, 10, 80);
|
||||
FOR I := 0 TO LEN(A)-1 DO
|
||||
Out.Int(A[I],0); Out.String(" ");
|
||||
END;
|
||||
Out.Ln;
|
||||
END CS.
|
||||
Loading…
Add table
Add a link
Reference in a new issue