ch10_shellsort.c

来自「本人讲授数据结构课程时的所写的示例程序」· C语言 代码 · 共 47 行

C
47
字号
/*
直接插入排序
author: kk.h
date: 2006.12
http://www.cocoon.org.cn
*/

#include "stdio.h"

void ShellSort(int a[])
{
  int i,j,k,l;
  int d[3]={5,3,1};
  l=a[0];

  for(k=0;k<3;k++){
    for(i=d[k]+1;i<=l;i++){
      a[0]=a[i];
      j=i-d[k];
      while(j>0 && a[0]<a[j]) {
        a[j+d[k]]=a[j];
        j=j-d[k];
      }
      a[j+d[k]]=a[0];
    }
  }

}

main()
{
  int i,a[]={7,1,6,3,7,4,5,9,2};

  printf("\n");
  for(i=1;i<=7;i++)
    printf("%d,",a[i]);

  ShellSort(a);

  printf("\n");
  for(i=1;i<=7;i++)
    printf("%d,",a[i]);

  getch();
}

⌨️ 快捷键说明

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