June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,13 @@
|
|||
% insertion sorts in-place the array A. As Algol W procedures can't find the bounds %
|
||||
% of an array parameter, the lower and upper bounds must be specified in lb and ub %
|
||||
procedure insertionSortI ( integer array A ( * ); integer value lb, ub ) ;
|
||||
for i := lb + 1 until ub do begin
|
||||
integer v, j;
|
||||
v := A( i );
|
||||
j := i - 1;
|
||||
while j >= lb and A( j ) > v do begin
|
||||
A( j + 1 ) := A( j );
|
||||
j := j - 1
|
||||
end while_j_ge_0_and_Aj_gt_v ;
|
||||
A( j + 1 ) := v
|
||||
end insertionSortI ;
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
begin
|
||||
% external in-place insertion sort procedure %
|
||||
procedure insertionSortI ( integer array A( * ); integer value lb, ub ) ;
|
||||
algol "ISORTI" ;
|
||||
|
||||
integer array d ( 1 :: 8 );
|
||||
integer p;
|
||||
p := 1;
|
||||
for i := 34, 2, -1, 0, 0, 9, -56, 3 do begin
|
||||
d( p ) := i;
|
||||
p := p + 1
|
||||
end for_i ;
|
||||
insertionSortI( d, 1, 8 );
|
||||
write( i_w := 1, d( 1 ) );
|
||||
for i := 2 until 8 do writeon( i_w := 1, d( i ) )
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue