shellsort.c

来自「自己做的常用库和实现的数据结构。public domain.」· C语言 代码 · 共 40 行

C
40
字号
#include <stdio.h>
#include <stdlib.h>

void shell_sort(int array[], int size)
 {
   int temp, gap, i, exchange_occurred;
          
   gap = size / 2;      
   
   do {
	    do {
	      exchange_occurred = 0;
	      for (i = 0; i < size - gap; i++)
		       if (array[i] > array[i + gap])
			{  
			  temp = array[i];
			  array[i] = array[i + gap];
			  array[i + gap] = temp;
			  exchange_occurred = 1;
			}
	    } while (exchange_occurred);
   } while (gap = gap / 2);
 }

void main(void)
 {
   int values[50], i; 

   puts("init array");
   for (i = 0; i < 50; i++)
     printf("%d ", values[i] = rand() % 100);

   shell_sort(values, 50);

   puts("\nafter shell short");
   for (i = 0; i < 50; i++)
     printf("%d ", values[i]);
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?