shell.c
来自「基于C++的排序各种排序操作,包括快速排序,shell排序,随机排序,选择排序等」· C语言 代码 · 共 40 行
C
40 行
#include<stdio.h>
void main()
{
int data[11]={0,75,23,98,44,57,12,29,64,38,82};
int i,j,k,incr,temp;
printf("\n<<Shell sort>>\n");
printf("\nNumber:");
for(i=1;i<=10;i++)
printf("%d ",data[i]);
puts("");
for(i=0;i<60;i++)printf("-");
incr=10/2;
while(incr>0)
{
for(i=incr+1;i<=10;i++)
{
j=i-incr;
while(j>0)
if(data[j]>data[j+incr]) /*比较每部分的数据*/
{ /*大小顺序不对则交换*/
temp=data[j];
data[j]=data[j+incr];
data[j+incr]=temp;
j=j-incr;
}
else
j=0;
}
printf("\nAccess:");
for(k=1;k<=10;k++)
printf("%d ",data[k]);
incr=incr/2;
}
puts("");
for(i=0;i<60;i++)printf("-");
printf("\nSorting:");
for(i=1;i<=10;i++)
printf("%d ",data[i]);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?