]> git.llucax.com Git - z.facultad/75.40/1er-cuat/material.git/blob - valid_shellsort.txt
Se expanden keywords del svn.
[z.facultad/75.40/1er-cuat/material.git] / valid_shellsort.txt
1 /* Weiss used 1-n as the indices of the array rather than 0 to n-1 Also, he \r
2 modified the Ada version quite a bit so that it would "work" in C. In the Ada \r
3 version he used "and then" to force what is called short- circuit evaluation. \r
4 All C comparisons use short-circuit evaluation so the algorithm did NOT need to \r
5 be changed. */ \r
6 \r
7 #include <stdio.h>\r
8 \r
9 void shellsort(int a[], int n)\r
10 {\r
11   int i, j, increment;\r
12   int temp;\r
13  \r
14   for (increment = n/2; increment > 0; increment /= 2)\r
15   {\r
16      for (i = increment; i < n; i++) /*changed this line*/\r
17      {\r
18         temp = a[i];\r
19         j = i; \r
20         while ((j>=increment)&&(temp<a[j-increment]))\r
21         {\r
22           a[j] = a[j-increment];\r
23           j -= increment;\r
24         }\r
25         a[j] = temp;\r
26       }\r
27   }\r
28 }\r
29 \r
30 void print(int a[], int high)\r
31 {\r
32   int i;\r
33   for (i = 0; i < high; i++)\r
34   {\r
35      printf("%d ",a[i]);\r
36   }\r
37 }\r
38 \r
39 void main(void)\r
40 {\r
41   int array[13]={81, 94, 11, 96, 12, 35, 17, 95, 28, 58, 41, 75, 15};\r
42 \r
43   shellsort(array, 13);\r
44   print(array,13);\r
45 }\r
46 \r
47 \r