Shell.c
Upload User: dq031136
Upload Date: 2022-08-08
Package Size: 802k
Code Size: 1k
Development Platform:

C++ Builder

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void shell_sort(int array[], int size)
  4.  {
  5.    int temp, gap, i, exchange_occurred;
  6.           
  7.    gap = size / 2;      
  8.    
  9.    do 
  10.  {
  11.     do 
  12. {
  13.       exchange_occurred = 0;
  14.       for (i = 0; i < size - gap; i++)
  15.        if (array[i] > array[i + gap])
  16.         {  
  17.           temp = array[i];
  18.           array[i] = array[i + gap];
  19.           array[i + gap] = temp;
  20.           exchange_occurred = 1;
  21.         }
  22.     } while (exchange_occurred);
  23.    } 
  24.  while (gap = gap / 2);
  25.   }
  26. void main(void)
  27.  {
  28.    int values[50], i; 
  29.    for (i = 0; i < 50; i++)
  30.      values[i] = rand() % 100;
  31.    shell_sort(values, 50);
  32.    for (i = 0; i < 50; i++)
  33.      printf("%d ", values[i]);
  34.  }