mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-05 23:22:25 +00:00
Fix heap for -OC build on 32 bit systems.
This commit is contained in:
parent
43117e79f7
commit
8220c4e807
1 changed files with 4 additions and 4 deletions
|
|
@ -428,8 +428,8 @@ MODULE Heap;
|
|||
END
|
||||
END Scan;
|
||||
|
||||
PROCEDURE Sift (l, r: S.ADDRESS; VAR a: ARRAY OF S.ADDRESS);
|
||||
VAR i, j, x: S.ADDRESS;
|
||||
PROCEDURE Sift (l, r: LONGINT; VAR a: ARRAY OF S.ADDRESS);
|
||||
VAR i, j: LONGINT; x: S.ADDRESS;
|
||||
BEGIN j := l; x := a[j];
|
||||
LOOP i := j; j := 2*j + 1;
|
||||
IF (j < r) & uLT(a[j], a[j+1]) THEN INC(j) END;
|
||||
|
|
@ -439,8 +439,8 @@ MODULE Heap;
|
|||
a[i] := x
|
||||
END Sift;
|
||||
|
||||
PROCEDURE HeapSort (n: S.ADDRESS; VAR a: ARRAY OF S.ADDRESS);
|
||||
VAR l, r, x: S.ADDRESS;
|
||||
PROCEDURE HeapSort (n: LONGINT; VAR a: ARRAY OF S.ADDRESS);
|
||||
VAR l, r: LONGINT; x: S.ADDRESS;
|
||||
BEGIN l := n DIV 2; r := n - 1;
|
||||
WHILE l > 0 DO DEC(l); Sift(l, r, a) END;
|
||||
WHILE r > 0 DO x := a[0]; a[0] := a[r]; a[r] := x; DEC(r); Sift(l, r, a) END
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue