Sorting algorithms/Insertion sort: Difference between revisions

Content added Content deleted
Line 451: Line 451:


=={{header|PL/I}}==
=={{header|PL/I}}==
<lang pli>INSSORT: PROCEDURE (A,N);
<lang pli>
INSSORT: PROCEDURE (A);
DCL (A(*)) FIXED BIN(31),
N FIXED BIN(31) NONASSIGNABLE;
DCL A(*) FIXED BIN(31);
DCL (I,J,V) FIXED BIN(31);
DCL (I, J, V, N) FIXED BIN(31);

DO I=2 TO N;
N = HBOUND(A,1); M = LBOUND(A,1);
DO I=M+1 TO N;
V=A(I);
V=A(I);
J=I-1;
J=I-1;
DO WHILE (J > 0);
DO WHILE (J > M-1);
if A(J) <= V then leave;
if A(J) <= V then leave;
A(J+1)=A(J); J=J-1;
A(J+1)=A(J); J=J-1;
Line 465: Line 467:
END;
END;
RETURN;
RETURN;
END INSSORT;</lang>
END INSSORT;
</lang>


=={{header|Prolog}}==
=={{header|Prolog}}==