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 + -
显示快捷键?