]> git.llucax.com Git - z.facultad/75.40/1er-cuat/orden.git/blob - test/shellsort.pas
656d8d56af6c08de7cfd9b2cf8224c9e806b8ff2
[z.facultad/75.40/1er-cuat/orden.git] / test / shellsort.pas
1 PROCEDURE Shell( Var Item : DataArray; Count: Integer );\r
2 \r
3 CONST\r
4       N=5;\r
5 \r
6 VAR\r
7    I,J,K,S,Q : Integer ;\r
8    P : Array[1..N] OF Integer;\r
9    X : DataItem ;\r
10 \r
11 BEGIN\r
12      P[1] := 9;\r
13      P[2] := 5;\r
14      P[3] := 3;\r
15      P[4] := 3;\r
16      P[5] := 1;\r
17      FOR Q := 1 TO N DO\r
18        BEGIN\r
19             K := P[Q];\r
20             S := K;\r
21             FOR I := K + 1 TO Count DO\r
22               BEGIN\r
23                    X := Item[I] ;\r
24                    J := I - K;\r
25                    IF S = 0;\r
26                      BEGIN\r
27                           S := K;\r
28                           S := S + 1;\r
29                           Item[S] := X;\r
30                      END;\r
31                    WHILE ( X < Item[J] ) and ( J > O ) and ( J <= Count ) DO\r
32                      BEGIN\r
33                           Item[J+K]:=Item[J];\r
34                           J := J - K;\r
35                      END;\r
36                    Item[J+K] := X;\r
37               END;\r
38        END;\r
39      END;\r